gpt4 book ai didi

java - Jackson 如何创建 JsonObject

转载 作者:行者123 更新时间:2023-12-02 12:18:39 27 4
gpt4 key购买 nike

我想创建一个像这样的 JsonObject:

{
Response: 200,
Lists: [
{
Test: "Math",
Result: "6",
Credit: "3"
},
{
Test: "C++",
Result: "10",
Credit: "6"
}
]
}

我知道用 lib org.json 创建这个,但是用 Jackson?我尝试使用

JsonNodeFactory nodeFactory = new JsonNodeFactory();

但我有这个问题

The constructor JsonNodeFactory() is not visible

最佳答案

确保使用最新版本的 Jackson。他们从 codehaus 迁移到 FasterXML:http://wiki.fasterxml.com/JacksonHome .

您不需要实例化工厂。您可以使用公共(public)静态实例:com.fasterxml.jackson.databind.node.JsonNodeFactory.instance

JsonNodeFactory factory = JsonNodeFactory.instance;
ObjectNode root = factory.objectNode();
root.put("Response", 200);
ArrayNode list = factory.arrayNode();
list.add(...);
...
root.set("List", list);

请注意,Jackson 是一个很棒的库,可以将 Java POJO 映射到 JSON(以及反之)。您可以创建 Jackson 将序列化为 JSON 的 Java 类,而不是手动创建 JSON 结构:

public class Item {
@JsonProperty("Test")
private String test;

@JsonProperty("Result")
private String result;

@JsonProperty("Credit")
private String credit;
}

public class Root {
@JsonProperty("Response")
private int response;

@JsonProperty("List")
private List<Item> list;
}

public static void main(String[] args) {
Root root = new Root();
...
String json = new ObjectMapper().writeValueAsString(root)
}

关于java - Jackson 如何创建 JsonObject,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25095791/

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