我想在这个Json对象中迭代一个数组:
{
"id": "2234",
"Messages": [
{
"MessageId": 321231239,
"Text_message": "my text message",
"date": 1444666348
},
{
"MessageId": 3217437239,
"Text_message": "my text message 2",
"date": 1444666348
}
]
}
在我的代码中我有:
JsonArray messagesJson = jsonObject.getJsonArray("Messages");
我的相关导入是:
import javax.json.Json;
import javax.json.JsonArray;
import javax.json.JsonObject;
import javax.json.JsonReader;
现在我想迭代这个数组并为我的bean提取字段。 但我不想在索引中使用for循环。我想使用foreach类型的循环。我正在使用Java 7。 我想要的是更像Scala的做法:
messagesJson.map { json =>
MyBean(
(json \ "MessageId").getOrElse(""),
(json \ "text_message").getOrElse(""),
(json \ "date").getOrElse("")
)
}
答案 0 :(得分:2)
正如documentation所说,JsonArray
扩展了List<JsonValue>
,因此您可以简单地遍历JsonValue
。
for(JsonValue value : yourJsonArray){
....
}