JSON解析数据
2015-10-22 00:20
453 查看
JSON的优势在于它的体积理小,在网络上进行传输时,可以节省流量。虽然语义较差,但是对于只给程序员看的数据来说,这个缺点不用考虑。
getJSONObject(“data”),去接住一个json
getJSONArray(“forecast”),接住一个数组
getString(1):根据index接住一个Sring(也可以int等),调用此方法的对象是JSONArray
一、使用JSONObject
JSON数据用JSONObject类来解析逻辑比较简单,用String建立对象,然后用这对象取值就行了,不同的类型,用不同的参数接着就可以了,和XML一样,一层一层解析进去就可以了。getJSONObject(“data”),去接住一个json
getJSONArray(“forecast”),接住一个数组
getString(1):根据index接住一个Sring(也可以int等),调用此方法的对象是JSONArray
//下面对json的数据进行处理 //1.建立一个JSONObject对象接受一个String类型的json JSONObject jsonObject =new JSONObject(json); //2.每一层的json,进行解析就可以了 String desc=jsonObject.getString("desc");//原始数据是什么类型,就用什么接 int status= jsonObject.getInt("status"); if(status==1000){ //如果还一个JSONObject,就从头再解析 JSONObject dataObject=jsonObject.getJSONObject("data"); //解析到数组 JSONArray data=dataObject.getJSONArray("forecast"); //解析到具体的值了 String[] weather=new String[]{ data.getString(1), data.getString(2), data.getString(3), }; }
二、使用GSON
GSON是没在官方的API中,要导包。GSON主要就是可以将一段JSON格式的字符串自动映射成一个对象。假如星期三一天的天气,有一个Weather类GSON gson = new GSON(); Weather weather =gson.fromJson(data,Weather.class);
附:解析的原始数据
{ "desc": "OK", "status": 1000, "data": { "wendu": "27", "ganmao": "各项气象条件适宜,发生感冒机率较低。但请避免长期处于空调房间中,以防感冒。", "forecast": [ { "fengxiang": "无持续风向", "fengli": "微风级", "high": "高温 30℃", "type": "多云", "low": "低温 23℃", "date": "21日星期三" }, { "fengxiang": "无持续风向", "fengli": "微风级", "high": "高温 30℃", "type": "多云", "low": "低温 23℃", "date": "22日星期四" }, } }
相关文章推荐
- 我是运营,我没有假期
- XML 与 JSON 优劣对比
- VBA将excel数据表生成JSON文件
- DB2数据库的安装
- C#实现把指定数据写入串口
- “传奇”图象数据存储方式
- newtonsoft.json解析天气数据出错解决方法
- 修复mysql数据库
- SQLServer 数据导入导出的几种方法小结
- MySQL数据备份之mysqldump的使用详解
- C#实现窗体间传递数据实例
- vbs 解析json jsonp的方法
- 给你的数据库文件减肥
- Oracle数据更改后出错的解决方法
- Extjs4如何处理后台json数据中日期和时间
- C#实现将类的内容写成JSON格式字符串的方法
- Oracle数据库数据丢失恢复的几种方法总结
- JQuery ajax返回JSON时的处理方式 (三种方式)
- jquery JSON的解析方式示例介绍
- c#版json数据解析示例分享