我将如下格式的json数据称为数组形式的json数据(以中括号开始和结束):
[ { "aqi": 151, "area": "广州", "pm2_5": 106, "pm2_5_24h": 115, "quality": "中度污染", "time_point": "2013-04-16T11:00:00Z" } { "aqi": 100, "area": "北京", "pm2_5": 188, "pm2_5_24h": 193, "quality": "重度污染", "time_point": "2013-04-16T11:00:00Z" } ]
我们在前两篇博文中讲了普通json数据的获取以及解析的办法,这里的json如何解析呢。
首先建立类PM,包括相应的成员。获取json的方法就不再赘述了,详见“android中使用Gson解析普通json数据”
解析json之前,先声明全局变量:
private Gson mGson;// 导入谷歌的Gson的jar包。
//该包可以在“android中使用Gson解析普通json数据”博文中获取
List<PM> pmList;
private static PM pm;//声明PM类的对象
获取json数据之后的解析函数非常的简单:
// 使用Gson解析Json之PM。这里传入的是json的数据串。 private static void pmWeatherInfo(String result) { Gson mGson = new Gson(); List<PM> pmList = mGson.fromJson(result, new TypeToken<List<PM>>() { }.getType()); pm = pmList.get(0);//将json中的值对应赋给pm对象中的属性 }
其中使用pmList.get(0)可获得解析出来的第一组json数据,同理pmList.get(1)获得json数组中的第二组json数据(解析之后的)。