0

json を Java オブジェクトにマップできれば素晴らしいのですが、構造がかなり奇妙で、解析しようとしているすべての json で異なります。たとえば、カテゴリとトピックは異なる場合があります。それをJavaオブジェクトにマップするにはどうすればよいですか、またはその他の提案は??

"name":"url", "categories": { "249":{"catID":"249","score":33.43533451973102}, "34":{"catID":"34","score":3.0000000447034836}, .,.,so on }, "topics":{ "DSLR":{"weight":1.6690950917579026,"noun":1}, "illuminated":{"weight":7.6470197510265105,"noun":0}, . .so on }}

4

2 に答える 2

1

少なくとも、JSON 表現が応答/オブジェクト マッピングの各タイプで一貫していると期待できますか? その場合は、Google GSON ライブラリを使用して、非標準の JSON 表現を処理するカスタム デシリアライザーを作成できます。プロジェクトへのリンクは次のとおりです。

http://code.google.com/p/google-gson/

カスタム シリアライザー/デシリアライザーの作成方法に関するユーザー ガイド:

https://sites.google.com/site/gson/gson-user-guide#TOC-Custom-Serialization-and-Deserialization

于 2012-05-01T23:18:41.690 に答える
0

そのためのライブラリがあります: org.json 。String から JSONObject を解析するには、次のように言います。

JSONObject jo = new JSONObject(string);

ただし、文字列がマップではなく配列を表す場合は、次を使用します。

JSONArray ja = new JSONArray(string);
于 2012-05-01T23:14:11.020 に答える