【问题标题】:Put a JSONObject into JSONArray将 JSONObject 放入 JSONArray
【发布时间】:2020-01-23 14:03:01
【问题描述】:

我有一个 JSONObject 我想把它转换成一个数组。

{
    "confirmationTypes": [
        {
            "confirmationTypeCode": "A"
        },
        {
            "confirmationTypeCode": "B"
        }
    ]
}

数组 = [确认类型]

例子:

[
    {
     "confirmationTypes": [
        {
            "confirmationTypeCode": "A"
        },
        {
            "confirmationTypeCode": "B"
        }
      ]
    }
]

如何实现这种JSONArray格式

【问题讨论】:

  • 我不明白你有什么和你想要什么。 2 段代码是相同的,只是第 2 段是前一个对象的数组(包含一个数组)。
  • 用这个来实现你想要的JSONArray jsonArray = new JSONArray(); jsonArray.put(yourJsonObject)

标签: java android


【解决方案1】:

你可以使用 ArrayList 来实现这个输出。

ArrayList<JsonObject> list = new ArrayList<JsonObject>();
list.add(yourJsonObject)

或者正如@Anurag Shrivastava 所说,

JsonArray array = new JsonArray();
array.put(yourJsonObject);

很简单

【讨论】:

    【解决方案2】:

    使用 com.fasterxml.jackson.databind.JsonNode 库并解析您的 json 字符串,如下所示,并给定 objectNode,您可以将其视为 jsonArray 并遍历它。

    由于 "confirmationTypes" 字段有一个数组。所以使用 this("confirmationTypes") 键获取这个数组的值。

    ObjectMapper mapper = new ObjectMapper();
    JsonNode objectNode = mapper.readTree(inputJson);
    for(JsonNode node : objectNode.get("confirmationTypes")){
             System.out.println(node.get("confirmationTypeCode").asText());
         }
    

    json 节点有很多功能,你甚至可以提取复杂的 Json。

    【讨论】:

      猜你喜欢
      • 2021-05-09
      • 2013-07-26
      • 1970-01-01
      • 2023-03-30
      • 2016-06-05
      • 2012-08-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多