Android剥洋葱式解析JSON数据

概述

首先,为什么我要说解析JSON数据像是在剥洋葱呢,请看http://wthrcdn.etouch.cn/weather_mini?city=北京这是一串天气预报的JSON数据
得到如下:
假如这组JSON数据名称为jsonObject
{"desc":"OK","status":1000,"data":{"wendu":"3","ganmao":"昼夜温差大,且空气湿度较大,易发生感冒,请注意适当增减衣服,加强自我防护避免感冒。","forecast":[{"fengxiang":"北风","fengli":"微风级","high":"高温 6℃","type":"霾","low":"低温 -5℃","date":"4日星期三"},{"fengxiang":"北风","fengli":"微风级","high":"高温 3℃","type":"霾","low":"低温 -4℃","date":"5日星期四"},{"fengxiang":"南风","fengli":"微风级","high":"高温 4℃","type":"霾","low":"低温 -2℃","date":"6日星期五"},{"fengxiang":"南风","fengli":"微风级","high":"高温 1℃","type":"小雪","low":"低温 -4℃","date":"7日星期六"},{"fengxiang":"南风","fengli":"微风级","high":"高温 2℃","type":"阴","low":"低温 -5℃","date":"8日星期天"}],"yesterday":{"fl":"微风","fx":"南风","high":"高温 5℃","type":"霾","low":"低温 -5℃","date":"3日星期二"},"aqi":"256","city":"北京"}}

其中一共有四种数据:

JSONObject,JSONArray,String以及int

  1. JSONObject:如果剥掉外层用到里面的“data”数据,就要用到jsonObject.getJSONObject("data")
  2. JSONArray:如果再剥掉一层,用到"data"里面的"forecast"数组数据,就要用data.getJSONArray("forecast");抽离出JSONArray数据后,可以看出里面包含了7个天气JSONObject的数据,这时如果只需要用到其中一个,比如第一天的数据,就要用到forecast.getJSONObject(0);
  3. String:如果用到String类型的数据,比如第一层的“OK”,就用jsonObject.getString("desc")
  4. int:如果用到第一层“1000”,就用jsonObject.getInt("desc")
注意:JSON数据就像之前接触到的“键值对”,用到那个就在具体的获取值方法中传入“键”,这个"键"在JSON数据中是确定的,而且类型也不尽相同,具体要看后面的“值”是什么类型而选择getJSONObject()、getJSONArray()、getString()等等.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值