このjsonをマップを含むオブジェクトに逆シリアル化する場合(およびマップにはリテラル値と他のマップが含まれます)。次のようなBeanがあると仮定します。
class MyBean {
int status;
Map<String, Object> result;
}
MyBean myBean = new Gson().fromJson(jsonString, MyBean.class);
変更なしで動作するはずです。ステータスのタイプが数値でない場合、値が引用されているjson文字列のように、Gsonが変換を行うかどうかわからないことに注意してください。同じことが、「age」プロパティにも当てはまります。
Gensonライブラリhttp://code.google.com/p/genson/もご覧ください。ほとんどのGson機能があり、他のライブラリにはない機能があり、パフォーマンスが向上しています。wikihttp://code.google.com/p/genson/wiki/GettingStartedをご覧ください。
編集
名前は本当にobject1_1、object2_1などのようなものですか?構造を見ると、object1はobject2と非常に長い間関係していると思います。gsonを使用する場合は、カスタムTypeAdapterhttp: //google-gson.googlecode.com/svn/trunk/gson/docs/javadocs/com/google/gson/TypeAdapter.htmlを作成できます。
したがって、次のようなルートオブジェクトを作成できます
class Response {
int status;
List<MyObject> result;
}
class MyObject {
String name;
int age;
String event;
String date;
}
TypeAdapterのreadメソッドでは、キー(object1とobject2、object1_1とobject2_1 ...)に基づいてMyObjectのインスタンスを作成するか、同様のアプローチをとる必要があります。その方法の詳細が必要な場合は、Gsongoogleグループで質問することもできます。