在Java中使用Jackson来创建JSON对象 [英] Create JSON object using Jackson in Java

查看:340
本文介绍了在Java中使用Jackson来创建JSON对象的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要使用Jackson如下创建一个JSON字符串. 我知道已经在这里回答了类似的问题:使用杰克逊创建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

但是我期望的JSON字符串与上面的示例有些不同.

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

如何仅使用Jackson来在Java中形成以下格式化的JSON对象? 另外,我不希望创建单独的POJO来实现此目的.

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.

预期输出:

{
    "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中使用Jackson来创建JSON对象的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆