使用Gson解析Json为Map对象探索(上)
有些时候由于后台业务系统的不一样导致一个Json的list对象装的并非是同一种类型的对象,导致无法建立比较好的Java模型,而刚好可以利用map对象的通用性来解决.
1.json数据
2.转化成Map
String str = "{\n" +
" \"a\": {\n" +
" \"b\": [\n" +
" \"c\",\n" +
" \"zhangsan\"\n" +
" ],\n" +
" \"d\": \"lisi\"\n" +
" },\n" +
" \"l2\": {\n" +
" \"l2_1\": null,\n" +
" \"l2_2\": true,\n" +
" \"l2_3\": {}\n" +
" }\n" +
"}";
com.google.gson.Gson gson = new com.google.gson.Gson();
// 先转换成Map对象
Map<String , Object> map = gson.fromJson(str,Map.class);
//例如我们想要2的值
//先获取a节点的值
Map<String, Object> aMaps = (Map<String, Object>) map.get("a");
System.out.println(aMaps.get("d"));
3.输出的结果