将 JSON.simple 替换为 Jackson



我想在以下代码片段上将JSON.simple替换为Jackson:

JSONObject request = new JSONObject();
request.put("String key", /String value/);
request.put("String key", /int value/);
...

它看起来像这样:

ObjectMapper mapper = new ObjectMapper();
JsonNode request = mapper.createObjectNode();
((ObjectNode) request).put("String key", /String value/);
((ObjectNode) request).put("String key", /int value/);

我发现选角和额外的声明有点太复杂和丑陋了。我做错了吗,有什么建议吗?

(我想通过 REST 实体发送此 JSON(

使用 ObjectNode 而不是 JsonNode。试试这个:

ObjectNode request = mapper.createObjectNode();
request.put("key", "val");
System.out.println(request.toString());

你的代码应该是这样的

ObjectMapper mapper = new ObjectMapper();
ObjectNode request = mapper.createObjectNode();
request.put("String key", /String value/);
request.put("String key", /int value/);

这个链接有很好的信息。我觉得你应该有对象,而不是手动构建你的json。

https://www.baeldung.com/jackson-object-mapper-tutorial

public class Car {
private String color;
private String type;
// standard getters setters
}

然后

ObjectMapper objectMapper = new ObjectMapper();
Car car = new Car("yellow", "renault");
String output = objectMapper.writeValueAsString(car);

输出:

{"color":"yellow","type":"renault"}

最新更新