JSON的各种解析小结
来源:互联网 发布:淘宝网怎么经营 编辑:程序博客网 时间:2024/06/04 19:42
JSON的各种解析
JSON是对象类型解析
- 数据是 {“name”:”zhangsanfeng”,”age”:3,”sex”:”nv”}
protected User readJsonObject(String jsonData) { // 内置解析方法JSONObject User bean = null; try { JSONObject jsonObject = new JSONObject(jsonData); String xname = jsonObject.getString("name"); int xage = jsonObject.getInt("age"); String xsex = jsonObject.getString("sex"); bean = new User(xname, xage, xsex); } catch (Exception e) { e.printStackTrace(); } return bean;}
JSON是数组类型解析
- 数据是
[{"name":"zhangsanfeng","age":3,"sex":"nv"},{"name":"zhaobenshan","age":2,"sex":"renyao"}]protected List<User> readJsonArray(String jsonData) { // 内置解析方法JSONObject List<User> users = new ArrayList<User>(); try { JSONArray jsonArray = new JSONArray(jsonData); for (int i = 0; i < jsonArray.length(); i++) { JSONObject jsonObject = jsonArray.getJSONObject(i); String xname = jsonObject.getString("name"); int xage = jsonObject.getInt("age"); String xsex = jsonObject.getString("sex"); User user = new User(xname, xage, xsex); users.add(user); } } catch (Exception e) { e.printStackTrace(); } return users; }
JSON是综合类型解析(对象中包含数组,数组中包含对象)
数据是
{ "error_code": 0, "reason": "查询成功!", "result": { "future": [ { "date": "20140804", "temperature": "28℃~36℃", "weather": "晴转多云", "weather_id": { "fa": "00", "fb": "01" }, "week": "星期一", "wind": "南风3-4级" }, { "date": "20140805", "temperature": "28℃~36℃", "weather": "晴转多云", "weather_id": { "fa": "00", "fb": "01" }, "week": "星期二", "wind": "东南风3-4级" }, { "date": "20140806", "temperature": "27℃~35℃", "weather": "晴转多云", "weather_id": { "fa": "00", "fb": "01" }, "week": "星期三", "wind": "东南风3-4级" }, { "date": "20140807", "temperature": "27℃~34℃", "weather": "多云", "weather_id": { "fa": "01", "fb": "01" }, "week": "星期四", "wind": "东南风3-4级" }, "resultcode": "200"}protected List<Future> readJsonObjArr(String jsonData) { // 内置解析方法JSONObject List<Future> futures = new ArrayList<Future>(); try { JSONObject jsonObject = new JSONObject(jsonData); JSONObject result = jsonObject.getJSONObject("result"); JSONArray jsonArray = result.getJSONArray("future"); for (int i = 0; i < jsonArray.length(); i++) { JSONObject future = jsonArray.getJSONObject(i); String xdate = future.getString("date"); String xtemperature = future.getString("temperature"); String xweather = future.getString("weather"); String xweek = future.getString("week"); String xwind = future.getString("wind"); Future f = new Future(xdate, xtemperature, xweather, xweek, xwind); futures.add(f); } } catch (Exception e) { e.printStackTrace(); } return futures; }
用框架对JSON解析
对象
protected User readJsonObject(String jsonData) { // 内置解析方法JSONObject,ctrl+k User bean = null; bean = JsonUtil.parseJsonToBean(jsonData, User.class); return bean;}
数组
users = (List<User>) JsonUtil.parseJsonToList(jsonData, new TypeToken<List<User>>(){}.getType());
综合
protected List<Future> readJsonObjArr(String jsonData) { // 内置解析方法JSONObject List<Future> futures = new ArrayList<Future>(); String result = JsonUtil.getFieldValue(jsonData, "result"); String future = JsonUtil.getFieldValue(result, "future"); JSONArray jsonArray; try { jsonArray = new JSONArray(future); for (int i = 0; i < jsonArray.length(); i++) { JSONObject jsonObject = jsonArray.getJSONObject(i); String xdate = jsonObject.getString("date"); String xtemperature = jsonObject.getString("temperature"); String xweather = jsonObject.getString("weather"); String xweek = jsonObject.getString("week"); String xwind = jsonObject.getString("wind"); Future f = new Future(xdate, xtemperature, xweather, xweek, xwind); futures.add(f); } } catch (Exception e) { e.printStackTrace(); } return futures;}
0 0
- JSON的各种解析小结
- json 的各种解析形式
- Android 解析Json的各种方法
- 各种 JSON 解析库的功能简介
- 【原创+转载—Json】的各种解析
- 各种iOS JSON解析总结
- 各种json解析包简介
- 笔记 Json各种格式解析
- iOS中解析json格式数据的各种方法调用
- 整理获取天气信息的各种API和JSON解析
- iOS中解析json格式数据的各种方法调用
- 使用Gson解析Json得到各种类型的数据
- ajax中解析json数据的各种方法(返回类型为json或text)
- JSON数据解析(各种格式)
- android 解析各种json 事例总结
- C#解析Json格式数据小结
- iOS- JSon和Xml解析,与服务器交互数据的解析详解与使用,各种解析方式详解
- scanf的各种用法小结
- Android viewGoup.dispatchTouchEvent(ev)源码
- OpenCV学习笔记(一)线性变换
- 【UESTC】1423 - Run Step(打表 & 组合)
- Get和POST区别小结
- springmvc运行过程详解
- JSON的各种解析小结
- POJ 1395 Cog-Wheels 已被翻译
- Python 爬虫之Google翻译实现
- Leetcode 之 Major Element II --摩尔投票法
- C#中添加窗口的步骤
- 跳跃表的原理及实现
- 自定义公用池之:Constraint 约束
- 一段生成大数据测试数据的java code 片段
- poj2356Find a multiple