我刚刚开始做android开发,我想出了一个看起来像这样的json,
"rows": [
[
{ "val": "abc",
"val1":"cde"
},
{ "val": "efg",
"val1":"hij"
},
],
[
{ "val": "klm",
"val1":"nop"
},
{ "val": "qrs",
"val1":"tuv"
},
],
........
........
........
]
现在您可以看到外部数组没有键,但内部数组没有键。我正在使用Gson
来解析json。我应该如何为这个json创建一个模型类?任何帮助,将不胜感激!!
答案 0 :(得分:0)
首先,此JSON字符串看起来无效。在每个双元素内部数组的第二个元素之后不应该是逗号。并将整个事物包裹在{}括号中。像这样:
{"rows": [
[
{ "val": "abc",
"val1":"cde"
},
{ "val": "efg",
"val1":"hij"
}
],
[
{ "val": "klm",
"val1":"nop"
},
{ "val": "qrs",
"val1":"tuv"
}
]
]}
如果你纠正了这些,你可以用GSON解析它:
JsonElement root = new JsonParser().parse(jstring);
root.getAsJsonObject().get("rows")
.getAsJsonArray().forEach(innerArray -> {
innerArray.getAsJsonArray().forEach(element -> {
System.out.println("val equals "+element.getAsJsonObject().get("val"));
System.out.println("val1 equals "+element.getAsJsonObject().get("val1"));
});
});
显然,您可以使用这些已解析的值执行任何操作,而不是打印。