博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[Android]JsonObject解析
阅读量:6278 次
发布时间:2019-06-22

本文共 2758 字,大约阅读时间需要 9 分钟。

android和服务器进行交互的时候往往会有数据的传输,而数据中有一种类型就是Json型,这两天在研究API接口的问题,服务器返回的数据类型都是Json型的。例如:

1.接收到的json字符串分为两种一种为array型,一种为Object型。下面就是Object型(嵌套型):

{"errNum":0,"errMsg":"success","retData":{"city":"\u5317\u4eac","pinyin":"beijing","citycode":"101010100","date":"15-07-21","time":"11:00","postCode":"100000","longitude":116.391,"latitude":39.904,"altitude":"33","weather":"\u96f7\u9635\u96e8","temp":"28","l_tmp":"22","h_tmp":"28","WD":"\u65e0\u6301\u7eed\u98ce\u5411","WS":"\u5fae\u98ce(<10m\/h)","sunrise":"05:02","sunset":"19:38"}}

2.提取其中的value值:

(代码已测试)

String response = (String) msg.obj;                // Json字符串解析                String errMsg = null;                int errNum = 2;                try {                    JSONObject jsonObject = new JSONObject(response.toString());                    errMsg = jsonObject.getString("errMsg");                    errNum = jsonObject.getInt("errNum");                } catch (JSONException e1) {                    // TODO 自动生成的 catch 块                    e1.printStackTrace();                }                    JSONObject jsonObject1 = null;                    try {                        jsonObject1 = new JSONObject(response.toString())                                .getJSONObject("retData");                    } catch (JSONException e) {                        // TODO 自动生成的 catch 块                        e.printStackTrace();                    }                    String city = null;                    String date = null;                    String time = null;                    String weather = null;                    String temp = null;                    String l_tmp = null;                    String h_tmp = null;                    String WD = null;                    String WS = null;                    String sunrise = null;                    String sunset = null;                    try {                        city = jsonObject1.getString("city");                        date = jsonObject1.getString("date");                        time = jsonObject1.getString("time");                        weather = jsonObject1.getString("weather");                        temp = jsonObject1.getString("temp");                        l_tmp = jsonObject1.getString("l_tmp");                        h_tmp = jsonObject1.getString("h_tmp");                        WD = jsonObject1.getString("WD");                        WS = jsonObject1.getString("WS");                        sunrise = jsonObject1.getString("sunrise");                        sunset = jsonObject1.getString("sunset");                    } catch (JSONException e) {                        // TODO 自动生成的 catch 块                        e.printStackTrace();                    }

 

转载于:https://www.cnblogs.com/liangxuehui/p/4667046.html

你可能感兴趣的文章
C++零基础教程(一)——何谓编程
查看>>
第十三章 RememberMe——《跟我学Shiro》
查看>>
mysql 时间函数 时间戳转为日期
查看>>
索引失效 ORA-01502
查看>>
Oracle取月份,不带前面的0
查看>>
Linux Network Device Name issue
查看>>
IP地址的划分实例解答
查看>>
如何查看Linux命令源码
查看>>
运维基础命令
查看>>
Linux下的lds链接脚本简介(二)
查看>>
入门到进阶React
查看>>
C++每日练笔之日期类(基类)
查看>>
SVN 命令笔记
查看>>
修复Postfix 的Relay access denied问题
查看>>
检验手机号码
查看>>
重叠(Overlapped)IO模型
查看>>
ffmpeg study 1
查看>>
Git使用教程
查看>>
使用shell脚本自动监控后台进程,并能自动重启
查看>>
Flex&Bison手册
查看>>