我有这样的 JSON:
{
"Answers":
[
[
{"Locale":"Ru","Name":"Name1"},
{"Locale":"En","Name":"Name2"}
],
[
{"Locale":"Ru","Name":"Name3"},
{"Locale":"En","Name":"Name4"}
]
]
}
正如你所看到的,我的数组里面有数组。如何使用以下方法将此类 JSON 结构反序列化为对象谷歌-gsonAndroid 上的库(https://code.google.com/p/google-gson/ https://code.google.com/p/google-gson/)?
Json 格式化后我们得到这样的东西:
MyObject
public class MyObject {
public List<List<Part>> Answers;
public List<List<Part>> getAnswers() {
return Answers;
}
}
Part
public class Part {
private String Locale;
private String Name;
public String getLocale() {
return Locale;
}
public String getName() {
return Name;
}
}
Main
public static void main(String[] args) {
String str = " {" +
" \"Answers\": [[{" +
" \"Locale\": \"Ru\"," +
" \"Name\": \"Name1\"" +
" }," +
" {" +
" \"Locale\": \"En\"," +
" \"Name\": \"Name2\"" +
" }]," +
" [{" +
" \"Locale\": \"Ru\"," +
" \"Name\": \"Name3\"" +
" }," +
" {" +
" \"Locale\": \"En\"," +
" \"Name\": \"Name4\"" +
" }]]" +
" }";
Gson gson = new Gson();
MyObject obj = gson.fromJson(str, MyObject.class);
List<List<Part>> answers = obj.getAnswers();
for(List<Part> parts : answers){
for(Part part : parts){
System.out.println("locale: " + part.getLocale() + "; name: " + part.getName());
}
}
}
Output:
locale: Ru; name: Name1
locale: En; name: Name2
locale: Ru; name: Name3
locale: En; name: Name4
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)