java - 如何在 Java(不是 java 8)中迭代 JsonArray

标签 java json loops parsing javabeans

我想迭代此 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("")
    )
}

最佳答案

作为documentation说,JsonArray延伸List<JsonValue>所以你可以简单地迭代 JsonValue .

for(JsonValue value : yourJsonArray){
....
}

关于java - 如何在 Java(不是 java 8)中迭代 JsonArray,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35161217/

相关文章:

java - Ghost4J/Ghostscript - 尝试将字体嵌入 PDF 时出现错误 100

java - 无法在 Spring Boot mTLS 中读取客户端的 X509 证书

java - 正则表达式返回最后一个/和之间的数字?

java - Akka HTTP Java 客户端示例 POST JSON 消息

c - 使用 c 的 JSON 解析器

javascript - rails 5 : JS treeview from hash of dates

python - 如何将列名与字典键匹配并向计数器添加值

java - 同步方法不是线程安全的

PHP:如何做foreach并从集合的第六个元素开始?

java - 增强的 for 循环何时实际修改底层数组?