如何创建没有标记的json

时间:2015-10-19 12:39:01

标签: java json jackson

如果我想创建一个像这样的json:

r

我可以写这段代码:

data : { 
        "name" : "abc",
        "age": 23
       }

但我怎样才能创建像这样的json?

Map<String,Object> data = new LinkedHashMap<>();
Map<String,Object> obj = new LinkedHashMap<>();
data.put("name", "abc");
data.put("age", 23);
obj.put("data", data);

String json = new 
 objectMapper().writer().withDefaultPrettyPrinter().writeValueAsString(obj);  

3 个答案:

答案 0 :(得分:1)

要做到这一点,你只需要传递数据实例而不是obj实例:

Map<String,Object> data = new LinkedHashMap<>();
    data.put("name", "abc");
    data.put("age", 23);

    String json = new ObjectMapper().writer().withDefaultPrettyPrinter().writeValueAsString(data);

在上面的示例中,您将通过将数据插入包含关键数据的另一个地图来创建标记。

答案 1 :(得分:1)

您可以跳过顶级密钥:

Map<String,Object> data = new LinkedHashMap<>();
data.put("name", "abc");
data.put("age", 23);

String json = new 
 objectMapper().writer().withDefaultPrettyPrinter().writeValueAsString(data);

答案 2 :(得分:0)

以下代码应该

Map<String,Object> obj = new LinkedHashMap<>();
obj.put("name", "abc");
obj.put("age", 23);

String json = new ObjectMapper().writer().withDefaultPrettyPrinter().writeValueAsString(obj);