Jackson中的文档太可怕了,它仅说明了如何从对象和流而不是逐段地创建JSON。我找不到能够搜索更多示例/文档的术语。
我想做以下事情。
JsonObject jsonObject = new JsonObject().add("type", "unregister").add("id",id);
return jsonObject.toString();
以
{"type":"unregister","id":2}
为例。谁能向正确的方向推我? 最佳答案
杰克逊中相应的JsonObject
是ObjectNode
。您可以使用其各种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}
您也可以通过使用
ObjectNode
的ObjectMapper
的ObjectMapper
创建JsonNodeFactory
。ObjectMapper mapper = new ObjectMapper();
ObjectNode root = mapper.createObjectNode();