如何创建没有标签的 json

How to create a json without a tag

如果我想创建这样的 json:

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

我可以写这段代码:

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

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

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

为此,您只需要传递数据实例而不是 obj 实例:

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

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

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

您可以跳过顶级密钥:

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

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

下面的代码应该可以做到

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

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