json 返回{"c":[{"id":"1","name":"aaa"},{"id":"2","name":"bbb"},]}
我要在返回的地方按他的返回对象数来循环插入数据,
但是不知道怎么判断返回个数。
查了一下说是要json格式转换成字符串,但是转成字符串的方法都是循环拼接。
如果是这样的话那要循环的几次也不知道,如果知道循环几次的话,那不就是返回的个数了吗,也不用转了。

解决方案 »

  1.   

    alert(rpt.c.length);
    试下看成不.
      

  2.   

    c.length 如果不可以的话,就用一个属性存储长度eg:"len":n
      

  3.   

    var json = eval("(" + returnJsonValue + ")")
    然后就可以得到数量了参考
    http://www.cnblogs.com/Ferry/archive/2010/08/03/1791439.html
      

  4.   


    没试过,应该有length count之类的属性
      

  5.   

    前面都说对了。使用json很方便如果不知道它含有的属性,可以在调试的时候断点到那里可以看得到属性和方法。
      

  6.   


     var data= eval('(' + msg+ ')');
     $.each(data, function(i, item) {
            var id=item["id"];
            var id=item["name"];
       });
      

  7.   

     var jsonText = "jsonstr={'user':[{'username':'A','password':'123' },{'username':'B','password':'456' }]}";var result=xmlHttp.responseText;
    var json=eval("("+result+")");
    if(json.PassInfo!="" && json.PassInfo.length>0)
    {}
      

  8.   


    <script>
    show();
    function show(){
    var arr = {"c":[{"id":"1","name":"aaa"},{"id":"2","name":"bbb"},{"id":"3","name":"ccc"}]};
    alert("json数组长度:"+arr['c'].length);
                    alert("数组第一项取值:id="+arr['c'][0]['id']+",name="+arr['c'][0]['name']);
    }
    </script>主要就你返回的是一个json的数组,用arr['c']就可以取到数组了,然后就完全可以当做数组操作了。