はてなブックマークのJSONとlivedoor clipのJSON
- はてな
- http://b.hatena.ne.jp/entry/json/URL
- livedoor
- http://api.clip.livedoor.com/json/comments?link=URL
でJSONコードを取得できるのだが、微妙に仕様が異なる。
はてなはオブジェクトの前後に()
が付くのに対してlivedoorのは付かない
という感じ。
Firefox3から導入されたJavaScriptモジュールを使用して両者のコードをデコードしようと試みたのだが、()
が付いているとデコードできずにエラーが返ってしまう。
Chrome特権上でコードを動かしているので単純にevalを使うのは危険かなと思い、SandBox上でデコードしてくれるJSON.jsmを使用したのだが...
仕方なしに、はてなの方はJSON.fromString(str.substring(1,str.length - 1)
などとして()
を取ってデコードしたが、これってJSON#fromStringの方でどうにかならないのかなぁ。