android 解析动态JSON数据

需求 : 如题 , 最近项目中的某个接口 返回的JSON数据是不定的 动态的 , 这就比较坑了, 之前还真没遇到过 , 因为没法用框架去解析 (之前我都用的 Gsonformat) . 在网上找了下资料 , 好像只能使用 原生的JSONObject 才能操作 , 记录下来 以备不时之需 :

返回的数据 :

    { "code": 1,"msg": 1, "data": {"1": "法律","2": "工商注册", "3": "保险", "4": "资质代办", "5": "商标申请","6": "知识产权" "7":....} } , 其中data里的数据是不定的,随着后台的增加而增加 .

接下来直接上代码 :

                // 首先你的创建一个集合用来存储data里的数据
                List<String> datas =  new ArrayList<String>();
                try {
                    // result 就是请求接口返回的数据
                    JSONObject jsonObject = new JSONObject(result);
                    // 获取一个迭代器
                    Iterator<String> keys = jsonObject.keys();
                    while (keys.hasNext()) {
                        // 循环遍历里面的keys  根据keys获取key
                        String key = keys.next();
                        // 判断当key为data时 取出 data 转成对象
                        if (key.equals("data")){
                            JSONObject data = jsonObject.getJSONObject(key);
                            // 遍历data里的keys值
                            Iterator<String> keys1 = data.keys();
                            while (keys1.hasNext()){
                                String key1 = keys1.next();
                                // 根据key1获取对应的value      
                                String str = data.getString(key1);
                                // 将获取得value值添加到 集合中   接下来你可以直接拿到data里的所有数据该干嘛干嘛
                                datas.add(str);
                            }
                        }
                    }
                } catch (JSONException e) {
                    e.printStackTrace();
                }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容