java解析多层嵌套json数据,JsonObject和JsonArray使用:
提示:JSONObject与JSONArray的区别
例如:
switchInfo{…} JSONObject
Table[{…}] JSONArray
问题描述:
String josn="...";//上图数据
JsonParser parse=new JsonParser(); //创建JSON解析器
JsonObject json=(JsonObject) parse.parse(josn);//将String转成json
System.out.println("Action:"+json.get("Action").getAsInt());//获取第一层Action的数据
JsonObject obj=json.get("switchInfo").getAsJsonObject();//JsonObject
System.out.println("macid:"+obj.get("macid").getAsString());
JsonArray array=json.get("Table").getAsJsonArray();//JsonArray
JsonObject subObject=array.get(0).getAsJsonObject();
System.out.println("ifOutOctets="+subObject.get("ifOutOctets").getAsString());
## 运行结果
原因分析:
提示:解析json数据的依赖包
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.5</version>
</dependency>