jsonarray-解析过后的json取值问题

问题描述

解析过后的json取值问题

解析过后的json,在循环取值的时候报错,用JSONArray jsonArrayIn = jsonArray.getJSONArray(i)时候报JSONArray[33] is not a JSONArray,

,我试着用JSONObject jons = jsonArray.getJSONObject(i);又说却
JSONArray[33] is not a JSONObject,,此刻我凌乱了,求指导

解决方案

 if(jsonArray!=null){
            for(int i=0;i<jsonArray.size();i++){
                JSONObject jsonObject = null;
                if(jsonArray.get(i) instanceof JSONArray){
                    JSONArray jsonSubArr = (JSONArray)jsonArray.get(i);
                }
            }
        }

解决方案二:

 json串比如:{"id1":"1","list":["l1","l2",["lk1","lk2"]]}

 代码可以如下

 JSONObject jsonRtn =JSONObject.fromObject(jsonstr);//jsonstr为json串
        JSONArray jsonListArray = jsonRtn.getJSONArray(NetEnum.JsonField.list);
        if(jsonListArray!=null){
            for(int i=0;i<jsonListArray.size();i++){
                if(jsonListArray.get(i) instanceof JSONArray){
                    JSONArray jsubArray = (JSONArray)jsonListArray.get(i);
                    for(int k=0;k<jsubArray.size();k++){
                        System.out.println(jsubArray.get(k));
                    }
                }else if(jsonListArray.get(i) instanceof JSONObject){

                }else{
                    System.out.println(jsonListArray.get(i));
                }
            }
        }
时间: 2024-12-28 11:27:22

jsonarray-解析过后的json取值问题的相关文章

asp.net-C#后台解析异形json取值

问题描述 C#后台解析异形json取值 大家看看这种json该如何在后台解析取值({""results"":[{""CityCode"":""0591""station"":""12""district"":""三环以内""freight"":&qu

ajax返回json取值问题

问题描述 ajax返回json取值问题 解决方案 要用 data["agentDTO.agentCode"]来获取,因为你键名称包含了点操作符 要是data.agetnDTO.agentCode这样是获取data节点下的agentDTO节点下的agentCode了,当然undefined 解决方案二: 同意楼上,如果用.的取值方式,楼主的变量agetnDTO.agentCode会被拆分成两个变量,自然就与事实不一致了. 解决方案三: agetnDTO.agentCode在你的代码里应该

php json取值问题,请大家帮忙

问题描述 php json取值问题,请大家帮忙 {""success"":""1""result"":{""count"":""1""lists"":[{""areaid"":""93""postcode"":

关于json取值

问题描述 最近在做一个项目,其中有一个模块要求是从直接从优酷上获取视频的真实地址然后在网上找了大量代码,来解析优酷视频的url地址但都有一个关键的地方,就是根据获取到的json,取其中某个键的值,可是到这一步就断章了本来就对json不了解,我把json完整代码贴出来,请各位大侠帮我取个seed和streamfiledids这两个键的值{"data":[{"ct":"s","cs":"2329|2346",&

JSON取值前判断_json

复制代码 代码如下: public static void main(String[] args)throws Exception{      String jsonStr1="{\"access_token\":\"OezXcEiiBSKSxW0eoylIeIVb08lFhyeFsq6cUJJNo8XYLoJjqYARJOZUrnqhfvnyMKOSjz5SHPHGUmt6f09_762MWQ0HLnZtffDPyD2A6TgCqWlZAEsHLhIaaQVYx1

解析字符串为json的建值

问题描述 //解析字符串为json建值publicstaticstringToJsonKeyValue(thisstringstrValue){strValue=HttpContext.Current.Server.HtmlEncode(strValue);strValue=Regex.Escape(strValue);strValue=strValue.Replace("\","\\");//对斜线的转义returnstrValue;} 解决方案 解决方案二:你的

当json键为数字时的取值方法解析_javascript技巧

当json的键为数字时如何取值,如: var aa={'111':'aaaaa'}; alert(sss.111); 这样是不行的,alert不会弹任何东西. json的键必须是一个对象,才能取出东西,如: var aa={'s111s':'aaaaa'}; var idd="s111s"; alert(sss.idd); 解答: 对于数字键名或者非正常变量字符(比如有空格),必须使用 aa[x]的方式.var aa={'111':'aaaaa'}; alert(sss["1

java json字符串解析,获取json字符串中数组的值

问题描述 java json字符串解析,获取json字符串中数组的值 {"arr":["ipAddr","installationSite","imineSystemId","valid"],"login":0,"password":"","purview":"","userId":0,&

jquery实现下拉菜单的二级联动利用json对象从DB取值显示联动

 这篇文章主要介绍了jquery实现下拉菜单的二级联动利用json对象从DB取值显示联动,需要的朋友可以参考下 利用struts2和Ajax实现json对象的传输,然后实现菜单的二级联动    下面是我的 js文件原码:   代码如下: var mail={  //初始化  init:{  //初始化数据  initdata:{  did:'',  ttitle:'',  sendpassword:'',  description:''  },  //初始化事件  initevent:{  Da