android解析后台数据key值动态变化的方案

2019-02-14  本文已影响0人  落叶随风花落入泥

1、android解析数据data中key值变化的方案

场景:android 解析后台返回的数据时候,我们一般都是用Gson进行解析,这种方法解析的是key值是固定的,我们把数据结构生成一个Bean类,直接解析就可以了。如果遇到key值是变化的情况,这种方式就不能解析了,原因是我们的bean类不能写了。下面就是我对这种情况的解析方案。
原理:对后台返回的数据进行重组,把后台返回的response数据借助JsonObject类转换成JSONObject对象,在通过JSONObject获取key为data的值,代码如下:

JSONObject jsonObject = new JSONObject(response.toString());
JSONArray data = jsonObject.getJSONArray("data");

这样就把data中的值变成一个JSONArray的数组,遍历获取其中的每个jsonObject,在重组数据,代码如下:

 for (int i = 0; i < data.length(); i++) {
            JSONObject o = (JSONObject) data.get(i);
            Iterator<String> keys = o.keys();
            while (keys.hasNext()) {
               //这里需要定一个bean类,最基本的有两个,一个是表示key,一个是表示value。(这里的bean是 
               活的,根据自己的情形进行定义)
            }

      //把重组的每一项,放入一个定义好的集合中,这样就完成了我们需要的数据
  }
      //根据重组好的标准数据进行渲染即可。

感谢朋友的阅读,如果还有其他更好的方法,请不吝赐教,让我们互相学习,互相进步,谢谢。

上一篇 下一篇

猜你喜欢

热点阅读