- ベストアンサー
JAVAのjsonの扱いについて
- JAVAのjsonの扱いについて質問があります。PHPのjson_decode()のように処理したいがうまくいかず、ご教授お願いします。
- 下記のjsonデータから値を取得したいのですが、簡単な方法はありますか?
- Test.javaではMapを使用していますが、簡単なアクセス方法を探しています。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
例) サイトAからのjson {"info":{"name":"jon", "member":["AA","BB"]}} ・使う側は[info.name]と入力すると[jon]が返却される ・使う側は[info.menber.1]と入力すると[BB]が返却される ※使う側の入力の仕様は考え中です。 んではサイトBではどうなるの? jsonの形式、名前が違うだけで取得した後、使いたい項目は同じなの? 例えばA,B,Cからそれぞれ取得しても利用するのは 名前とナンバー? それか、Mapを包括したクラスを作ってinfo.xxxって引数をもらったら分解でもして うまくデータを保持してるマップから値を返せばいいんじゃない? それか名前とナンバーを返すインターフェースを作って、それぞれのサイト用のデータクラスでそれを実装して JSONのどこから値を返すか指定する感じで作ってあげれば 返ってくるほうはインターフェースを介すからあまり意識しなくて済むと思うんだけどどうだろう?
その他の回答 (2)
- shockatz
- ベストアンサー率80% (153/191)
jsonic使えば一発ですけど。。 ttp://jsonic.sourceforge.jp/ ttp://blog.codebook-10000.com/entry/20130823/1377257575
お礼
shockatzさん 返信が遅くなってしまって申し訳ありませんでした。 shockatzの言うとおりjsonicを使いパースをしています。 今回はデータクラスを使用し対応することになりました。 ありがとうございました。
- Taiyonoshizuku
- ベストアンサー率37% (183/489)
簡単にってのがどこまでを求めてるか知らないけど そのデータ用のクラスを作ればいいんじゃないの? オブジェクト指向なんだから
補足
回答ありがとうございます。 データクラスとも考えたのですが、 jsonの構造が下記補足のように変わるので 他の方法がないかと考えていました。 説明不足で申し訳ありませんでした。 [補足] やりたいことはサイトA、サイトB...サイトn と複数のサイトからjson形式が返却され 使う側はjsonから特定のデータを抜き出すことをしたいです。 ですのでjsonの構造はサイトによってバラバラになっています。 例) サイトAからのjson {"info":{"name":"jon", "member":["AA","BB"]}} ・使う側は[info.name]と入力すると[jon]が返却される ・使う側は[info.menber.1]と入力すると[BB]が返却される ※使う側の入力の仕様は考え中です。
お礼
返信が遅くなってしまって申し訳ありませんでした。 色々仕様が変更になり 今回はデータクラスを使用し対応することになりました。 ありがとうございました。