我需要使用 Jackson 创建如下 JSON 字符串。 我知道已经在这里回答了类似的问题:Creating a json object using jackson
但我预期的 JSON 字符串与上面示例中的有点不同。
如何仅使用 Jackson 在 Java 中形成以下格式化的 JSON 对象? 另外,我不喜欢创建一个单独的 POJO 来实现这一点。
预期输出:
{
"obj1": {
"name1": "val1",
"name2": "val2"
},
"obj2": {
"name3": "val3",
"name4": "val4"
},
"obj3": {
"name5": "val5",
"name6": "val6"
}
}
最佳答案
试试这个:
ObjectMapper mapper = new ObjectMapper();
ObjectNode rootNode = mapper.createObjectNode();
ObjectNode childNode1 = mapper.createObjectNode();
childNode1.put("name1", "val1");
childNode1.put("name2", "val2");
rootNode.set("obj1", childNode1);
ObjectNode childNode2 = mapper.createObjectNode();
childNode2.put("name3", "val3");
childNode2.put("name4", "val4");
rootNode.set("obj2", childNode2);
ObjectNode childNode3 = mapper.createObjectNode();
childNode3.put("name5", "val5");
childNode3.put("name6", "val6");
rootNode.set("obj3", childNode3);
String jsonString = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(rootNode);
System.out.println(jsonString);
关于java - 在 Java 中使用 Jackson 创建 JSON 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40967921/