我正在尝试解析一个jsonObject,但似乎无法成功,以下是我的代码:
json = (json data)
JsonParser parser = new JsonParser();
JsonObject rootObj = parser.parse(json).getAsJsonObject();
JsonObject paymentsObject = rootObj.getAsJsonObject("payments");
for(JsonObject pa : paymentsObject){
String dateEntered = pa.getAsJsonObject().get("date_entered").toString();
}
但是我得到了一个“foreach 不适用于此类型”的错误,我错过了什么。我尝试了不同的方法,但似乎无法解决它。谢谢
Json
{
"Name":"Test 2",
"amountCollected":"1997",
"payments":[
{
"quoteid":"96a064b9-3437-d536-fe12-56a9caf5d881",
"date_entered":"2016-05-06 08:33:48",
"amount":"1962",
},
{
"quoteid":"96a064b9-3437-d536-fe12-56a9caf5d881",
"date_entered":"2016-05-06 08:33:08",
"amount":"15",
},
{
"quoteid":"96a064b9-3437-d536-fe12-56a9caf5d881",
"date_entered":"2016-05-06 03:19:08",
"amount":"20",
}
]
}
JsonObject
不是Iterable
,所以你不能像那样在增强的for
循环中使用它。也许如果你分享一下你正在尝试解析的 Json 数据的示例,我们可以更好地帮助你。不过有一个想法:你确定payments
的值是一个对象而不是一个数组吗?也许你应该调用rootObj.getAsJsonArray("payments")
。返回的JsonArray
是可迭代的。 - Andreasjson_encode
了。 - OneCricketeer