2015-10-19 33 views
-1

如果我要創建這樣一個JSON:如何創建一個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 
} 
+1

嗯...'writeValueAsString(數據)'? –

回答

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

可以跳過頂級鍵:

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

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

下面的代碼應該做

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

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