安卓开发-解析api返回的json数据

核心代码:

InputStream is=conn.getInputStream();
                        Log.i(TAG,"得到输入流开始解析json,先将返回的结果转化为字符串并保存");
                        //定义streamtools工具类将api返回的数据用字符集保存下来
                        StreamTools streamTools=new StreamTools();
                        String result=streamTools.readStream(is);
                        //创建josn对象,将字符集填充到json中
                        JSONObject jsonObject=new JSONObject(result);
                        String status=jsonObject.getString("status");
                        Log.i(TAG,status);
                        if ("200".equals(status)){
                            Log.i(TAG,"开始解析");
                            //获取json中名为"data"的json对象
                            JSONObject jsondata=jsonObject.getJSONObject("data");
                            //获取jason对象data中的json数组"forecast"
                            JSONArray list=jsondata.getJSONArray("forecast");
                            //取出json数组中的第一个json对象
//                            JSONObject today=(JSONObject) list.getJSONObject(0);
//                            JSONObject tomorrow=(JSONObject) list.getJSONObject(1);
                            //将取出的对象使用handler发送给主程序
                            Message msg=Message.obtain();
                            msg.what=1;
                            msg.obj=list;
                            handler.sendMessage(msg);

重点方法:

创建json对象:JSONObject jsonobject=new JSONObjcet(传入字符集)

获取json中的内容:

1、获取json中的json:

        JSONObject jo=josnobject.getJSONObject(传入该json的key值)

2、获取josn中的value:

        String result=jsonobject.getString(传入对应的key值)

3、获取josn中的数组:

        JsonArray list=jsonobject.getJSONArray(传入对应的key值)

猜你喜欢

转载自blog.csdn.net/hhyihquk1/article/details/80542212