java创建json对象,在Java中使用Jackson来创建JSON对象

I need to create a JSON string as below using Jackson.

I know similar question has been answered already here: Creating a json object using jackson

But my expected JSON string is a little different from the one in above example.

How can I form the below formatted JSON object in Java using only Jackson?

Also, I do not prefer creating a separate POJO to achieve this.

Expected Output:

{

"obj1": {

"name1": "val1",

"name2": "val2"

},

"obj2": {

"name3": "val3",

"name4": "val4"

},

"obj3": {

"name5": "val5",

"name6": "val6"

}

}

解决方案

Try this:

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);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值