GSon ライブラリを使用して json を解析する正しい方法を探しています。これまでのところ、これを行う 2 つの方法を知っています。次
のような json 文字列があるとします。
{
'Events' : [{
'name' : 'exp',
'date' : '10-10-2010',
'tags' : ["tag 1", "tag2", "tag3"]
},...more events...],
'Contacts' : [{
'name' : 'John Smith',
'date' : '10-10-2010',
'tags' : ["tag 1", "tag2", "tag3"]
},...more contacts...],
}
JSonOjbect を使用して、名前でフィールドを取得します。
JsonElement jelement = new JsonParser().parse(jsonLine); JsonObject jobject = jelement.getAsJsonObject(); jobject = jobject.getAsJsonArray("Events"); JsonArray jarray = jobject.getAsJsonArray("Contacts"); jobject = jarray.get(0).getAsJsonObject();
GSON を使用してエンティティにマップする
public class Container{ List<Event> Events; List<Contact> Contacts; } Container c = new GSon().fromJSon(jsonString,Container.class);
いつ最初の方法と 2 番目の方法を使うべきか教えていただけますか?
多くの種類の複雑な json 文字列を返す Web サービスがあり、これからデータを取得する必要があります。私は何をすべきか?