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是
活的,根据自己的情形进行定义)
}
//把重组的每一项,放入一个定义好的集合中,这样就完成了我们需要的数据
}
//根据重组好的标准数据进行渲染即可。
感谢朋友的阅读,如果还有其他更好的方法,请不吝赐教,让我们互相学习,互相进步,谢谢。