JSON 解析时自动判断是Object还是Array

后端API数据返回有时候是Object有时候有是Array!

解决方案:通过JSONTokener解析,JSONTokener在解析过程中可以自动转换为对应的类型

代码示例如下:

String json ="{\"scm\":{\"key1\":\"vlaue1\",\"key2\":\"vlaue2\"}}";  
String json ="{\"scm\":[{\"key1\":\"vlaue1\",\"key2\":\"vlaue2\"},{\"key11\":\"vlaue11\",\"key22\":\"vlaue22\"}]}";  
JSONObject jsonObject =JSONObject.fromObject(json);  

Object listArray = new JSONTokener(jsonObject.getString("scm")).nextValue();  
if (listArray instanceof JSONArray){  
    JSONArray jsonArray = (JSONArray)listArray;  
    for (int k = 0; k < jsonArray.size(); k++) {  
        JSONObject parameterObject = jsonArray.getJSONObject(k);  
    }  
}else if (listArray instanceof JSONObject) {  
    JSONObject jsonObject3 = (JSONObject)listArray;   
}  

最后搞定 。

参考:http://blog.csdn.net/xlyrh/article/details/75091353

梦想还是要有的,万一实现了呢?