用 Jackson 替换 JSON.simple

我想在以下代码片段中用 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)


当年话下
浏览 196回答 3
3回答

蝴蝶不菲

使用 ObjectNode 而不是 JsonNode。尝试这个:    ObjectNode request = mapper.createObjectNode();    request.put("key", "val");    System.out.println(request.toString());

catspeake

这个链接有很好的信息。我觉得你应该有对象而不是手动构建你的 json。https://www.baeldung.com/jackson-object-mapper-tutorialpublic 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"}

一只甜甜圈

你的代码应该是这样的            ObjectMapper mapper = new ObjectMapper();                         ObjectNode request = mapper.createObjectNode();             request.put("String key", /String value/);             request.put("String key", /int value/);
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java