gpt4 book ai didi

java - 将 org.json.JSONArray 插入 jackson ObjectNode

转载 作者:行者123 更新时间:2023-11-29 04:46:49 26 4
gpt4 key购买 nike

我在尝试将 JSONArray 插入 Jackson ObjectNode 时卡住了。这就是我想要做的:

public void myMethod(JSONArray jsonArray) {
ObjectNode payload = objectMapper.createObjectNode(0);
payload.put("array", /* jsonArray */);
payload.put(/* some other things */);
...
}

这感觉真的很愚蠢,但实际上最好的方法是什么?!

编辑:很抱歉,因为我没有提到重要的一点,那就是我必须在完成构建后序列化 ObjectNode,所以使用 putPOJO()这是不可能的。

最佳答案

我喜欢aribeiro的做法更多。您可以使用 putPOJO() 方法来执行此操作。例如:

// Incoming org.json.JSONArray.
JSONArray incomingArray = new JSONArray("[\"Value1\",\"Value2\"]");

ObjectMapper objectMapper = new ObjectMapper();
ObjectNode payload = objectMapper.createObjectNode();
// Adds the JSONArray node to the payload as POJO (plain old Java object).
payload.putPOJO("array", incomingArray);

System.out.println(objectMapper.writeValueAsString(payload));

可以找到 Javadoc here .

注意:这是我之前使用 readTree() 提交的实现:

// Incoming org.json.JSONArray.
JSONArray incomingArray = new JSONArray("[\"Value1\",\"Value2\"]");

ObjectMapper objectMapper = new ObjectMapper();
ObjectNode payload = objectMapper.createObjectNode();
// Reads the JSON array into a Jackson JsonNode.
JsonNode jsonNode = objectMapper.readTree(incomingArray.toString());
// Sets the Jackson node on the payload.
payload.set("array", jsonNode);

System.out.println(objectMapper.writeValueAsString(payload));

关于java - 将 org.json.JSONArray 插入 jackson ObjectNode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36812769/

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