Hatena::ブログ(Diary)

cooldaemonの備忘録 RSSフィード

2009-09-01

iPhone アプリ開発時、JSON ライブラリは BSJSONAdditions、json-framework、TouchJSON のうち、どれを使うべきか?

使い勝手や速度を論じる以前の問題で、BSJSONAdditions のみ下記の JSON を Parse 可能という残念な状態でした。

下記 JSON は、LDR の /api/subs の結果です。

[
  {
    "icon":"http://image.reader.livedoor.com/img/icon/default.gif",
    "link":"http://clip.livedoor.com/hot/",
    "subscribe_id":13060851,
    "unread_count":200,
    "folder":"ニュース",
    "tags":[],
    "rate":0,
    "modified_on":1251679561,
    "public":0,
    "title":"livedoor クリップ - 人気 ページ",
    "subscribers_count":40216,
    "feedlink":"http://clip.livedoor.com/rss/hot"
  },
  {
    "icon":"http://image.reader.livedoor.com/favicon/5/6/56e3a60d0bdcc14bf540bc25636c76decd2bffaf.png",
    "link":"http://blog.livedoor.com/article_ranking_index.html",
    "subscribe_id":13060852,
    "unread_count":200,
    "folder":"ニュース",
    "tags":[],
    "rate":0,
    "modified_on":1250464209,
    "public":0,
    "title":"livedoor Blog 記事別ランキング",
    "subscribers_count":39011,
    "feedlink":"http://blog.livedoor.com/xml/article_ranking.rdf"
  },
  {
    "icon":"http://image.reader.livedoor.com/favicon/1/1/1158357819388e9c26ed2a0fcff5867d092b8d54.png",
    "link":"http://blog.livedoor.jp/staff_reader/",
    "subscribe_id":13060853,
    "unread_count":1,
    "folder":"お知らせ",
    "tags":[],
    "rate":0,
    "modified_on":1248871104,
    "public":0,
    "title":"livedoor Reader 開発日誌",
    "subscribers_count":186610,
    "feedlink":"http://blog.livedoor.jp/staff_reader/atom.xml"
  },
  {
    "icon":"http://image.reader.livedoor.com/favicon/1/1/1158357819388e9c26ed2a0fcff5867d092b8d54.png",
    "link":"http://blog.livedoor.jp/feed_news/",
    "subscribe_id":13060854,
    "unread_count":21,
    "folder":"お知らせ",
    "tags":[],
    "rate":0,
    "modified_on":1251421218,
    "public":0,
    "title":"これはすごいブログ",
    "subscribers_count":89394,
    "feedlink":"http://blog.livedoor.jp/feed_news/atom.xml"
  }
]

json-framework

Parse 中にエラーとなりました。

バージョンを 0.2 まで落とすと Parse に成功しました。

TouchJSON

そもそも Root 要素が Array の JSON に対応していません。

Prefix として「{"array":」、Suffix として「}」を追加する事で Parse に成功しました。


テストコードは、現在手元に無いので、後で追記します。

はてなユーザーのみコメントできます。はてなへログインもしくは新規登録をおこなってください。

トラックバック - http://d.hatena.ne.jp/cooldaemon/20090901/1251774029
Connection: close