jquery 根据id去找 json中list的数据

jquery 根据id去找 json中list的数据,第1张

查找对象所有的属性,如果找到对象,递归;如果找到数组,检查每个元素,看id是不是所找的id。

假设数组里不会再嵌套数组了,如果有这种情况还要递归,原理一样的。

var json = '{"attrA":1,"listA":[{"id":1,"a":1,"b":1},{"id":2,"a":2,"b":3},{"id":3,"a":3,"b":3}],"listB":{"c":4,"d":[{"id":4,"a":4,"b":4},{"id":5,"a":5,"b":5}]}}';

var obj = JSONparse(json);

function findDataById(obj, id){

var res = null;

for(var i in obj){

if(ArrayisArray(obj[i])){

res = findDataInArr(obj[i], id);

}else if(obj[i] && typeof obj[i] === "object"){

res = findDataById(obj[i], id);

}else{

//is attribute

}

if(res){

     return res;

    }

}

return null;

}

function findDataInArr(arr, id){

for(var i = 0; i < arrlength; i++){

if(arr[i]id === id){

return arr[i];

}

}

return null;

}

consolelog(findDataById(obj, 2));

consolelog(findDataById(obj, 3));

consolelog(findDataById(obj, 4));

consolelog(findDataById(obj,  8));

造了一个稍微复杂一点的对象用来测试:

    $ajax({

      url: '/MUserCenter/financial',

      type: 'POST',

      data: {page:page+1,status:status},

      success:function(json){

            json = eval('('+json+')');

            if(jsoncode == 1 && jsondatalength != 0){

            for(var i=0,len=jsondatalength;i<len;i++){

                str +=   '<li class="bg0">';

                str +=   '<h3>'+jsondata[i]['plan_name']+'</a>';

                  str +=   '</li>';

                }

                }

           $('#lists')append(str); //把遍历的值append到要显示的地方(这个是分页追加,具体情况具体处理)

        

            });

以上就是关于jquery 根据id去找 json中list的数据全部的内容,包括:jquery 根据id去找 json中list的数据、jquery ajax返回后台list,要点写啊 返回后,如何取数据,给例子 是单纯返回list集合、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9562743.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-29
下一篇2023-04-29

发表评论

登录后才能评论

评论列表(0条)

    保存