[英]How to parse JSON string into Map?
我正在使用 Java。
我有一個 JSON 字符串,如下所示:
{
"4562": {
"a": "foo1",
"b": "56",
"c": "1342"
},
"4563": {
"a": "foo2",
"b": "57",
"c": "1343"
}
}
我想將 JSON 字符串中的所有數據存儲到 Map 中。
怎么做?
使用Gson :
String json = ...;
Gson gson = new GsonBuilder.setPrettyPrinting().create();
Map<String, Map<String, String>> map = gson.<Map<String, Map<String, String>>>fromJson(json, Map.class);
System.out.println(map);
您需要使用 Jackson 庫( jackson-databind
)。
代碼:
import java.io.IOException;
import java.util.Map;
import com.fasterxml.jackson.core.JsonParseException;
import com.fasterxml.jackson.databind.JsonMappingException;
import com.fasterxml.jackson.databind.ObjectMapper;
public class Example {
public static void main(String[] args) throws JsonParseException, JsonMappingException, IOException {
ObjectMapper mapper = new ObjectMapper();
String inputJson = "{ \n" +
" \"4562\": { \n" +
" \"a\": \"foo1\", \n" +
" \"b\": \"56\", \n" +
" \"c\": \"1342\" \n" +
" },\n" +
" \"4563\": { \n" +
" \"a\": \"foo2\", \n" +
" \"b\": \"57\", \n" +
" \"c\": \"1343\" \n" +
" }\n" +
"}";
Map<String, Map<String, String>> map = mapper.readValue(inputJson, Map.class);
System.out.println(map);
}
}
Output:
{4562={a=foo1, b=56, c=1342}, 4563={a=foo2, b=57, c=1343}}
從這里下載 jar: https://repo1.maven.org/maven2/com/fasterxml/jackson/core1/jackson-databin。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.