Jackson中的文档太可怕了,它仅说明了如何从对象和流而不是逐段地创建JSON。我找不到能够搜索更多示例/文档的术语。

我想做以下事情。

JsonObject jsonObject = new JsonObject().add("type", "unregister").add("id",id);
return jsonObject.toString();


{"type":"unregister","id":2}为例。谁能向正确的方向推我?

最佳答案

杰克逊中相应的JsonObjectObjectNode。您可以使用其各种xyzNode(...)工厂方法来生成JsonNode子类型实例。然后,您可以使用ObjectNode#set(String, JsonNode)添加它们。

JsonNodeFactory nc = new JsonNodeFactory(false); // or true, depending
ObjectNode root = new ObjectNode(nc);
TextNode text = root.textNode("unregister");
NumericNode id = root.numberNode(2);

root.set("type", text);
root.set("id", id);


然后

System.out.println(node);


产生

{"type":"unregister","id":2}




您也可以通过使用ObjectNodeObjectMapperObjectMapper创建JsonNodeFactory

ObjectMapper mapper = new ObjectMapper();
ObjectNode root = mapper.createObjectNode();

10-06 14:09