JSON
JSONはXMLに比べてマルチプラットフォーム展開に強いそうです。
ライブラリはもっとたくさんありますが、気になった二つを試してみました。
ライブラリ | ライセンス | ProGuardとの相性 | 補足 |
---|---|---|---|
JsonPullParser | Apache License 2.0 | 良 | 機能的には良いらしい。 使い勝手が悪い。 |
google-gson | Apache License 2.0 | 設定が必要 |
JsonPullParser は導入方法もよくわからなかったので挫折しました。
自分の理解が悪いのが原因だと思いますが、簡単に使えたgoogle-gsonよりわかりにくいのは確かです。
イマドキの現場で使えるJavaライブラリ事情(スライドショー) にも「使い勝手の面でやや難がある」と書かれています。
google-gsonは、ProGuardの難読化の除外設定が必要ですが、設定方法は検索すれば多数見つかるので
問題にはならないと思います(JSONICはこの点で諦めました)。
2013-06-17追記:
上記のようなライブラリを使わなくても、JSONObjectでわりと簡単にJSONを扱えるようです…。
google-gsonの使用方法
jarをlibs/に置いて、Androidプロジェクトの プロパティ > Javaビルドパス > ライブラリー でそのjarを追加し、
下のようにするだけでJSON → POJO(Plain Old Java Object)にパース(デシリアライズ)できます。
デシリアライズの例
String json = "{ 'key1':'あいうえお', 'key2':'かきくけこ' }";
Gson gson = new Gson();
Type type = new TypeToken<Map<String, String>>(){}.getType();
Map<String,String> hoge = gson.fromJson(json, type);
参考資料
- Androidで使えるJSON-Javaライブラリ(スライドショー)
- 1 Entry per Day: Androidアプリで使えるJSONライブラリ比較
- Convert json string to Map in Java using Gson | techtamasha.com
- 最終更新:2013-07-18 15:30:12