我想在以下代码片段上将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"}