我想在以下代码片段中用 Jackson 替换 JSON.simple: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)
3 回答
蝴蝶不菲
TA贡献1810条经验 获得超4个赞
使用 ObjectNode 而不是 JsonNode。尝试这个:
ObjectNode request = mapper.createObjectNode();
request.put("key", "val");
System.out.println(request.toString());
catspeake
TA贡献1111条经验 获得超0个赞
这个链接有很好的信息。我觉得你应该有对象而不是手动构建你的 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"}
一只甜甜圈
TA贡献1836条经验 获得超5个赞
你的代码应该是这样的
ObjectMapper mapper = new ObjectMapper(); ObjectNode request = mapper.createObjectNode(); request.put("String key", /String value/); request.put("String key", /int value/);
添加回答
举报
0/150
提交
取消