gpt4 book ai didi

java - JSONObject 与列表到字符串到 JsonNode

转载 作者:行者123 更新时间:2023-11-30 03:27:53 25 4
gpt4 key购买 nike

我将 JSONObject 转换为字符串,以便使用 jackson 在 JsonNode 中解析它,但我的 JSONObject 中有一个列表,当我使用 ObjectMapper 解析它时,我得到:

["{Property1 : value1, Property2 : value2}"]

我无法调用 myJsonNodeObject.get(i).get("Property1") 这是我的问题。

我尝试将列表转换为 JSONObject 中的 JSONArray,但不起作用。

resultAsJSONObject = new JSONObject();
resultAsJSONObject.put("Label", getMetricStatisticsResult.getLabel());
resultAsJSONObject.put("Datapoints", getMetricStatisticsResult.getDatapoints());
resultAsJSONObject.put("fromDate", fromDate.getTimeInMillis());
resultAsJSONObject.put("toDate", toDate.getTimeInMillis());
resultAsJSONObject.put("error", "");
resultAsString = resultAsJSONObject.toString();

mapper.readValue(resultAsString, MetricsData.class);

最佳答案

假设您有一个只想更改的 JSON 字符串。然后你可以使用Jackson将其解析为ObjecNode,然后对其进行修改。这是一个例子:

public class JacksonModifyJson {

static final String JSON = "{\"name\":\"Bob\", \"age\":13}";

public static void main(String[] args) throws IOException {
final ObjectMapper mapper = new ObjectMapper();
final ObjectNode jsonNode = mapper.readValue(JSON, ObjectNode.class);
jsonNode.put("url", "example.com");
System.out.println(mapper.writeValueAsString(jsonNode));
}
}

输出:

{"name":"Bob","age":13,"url":"example.com"}

关于java - JSONObject 与列表到字符串到 JsonNode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29744144/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com