Ajax:后台传list集合到前台,前台怎么获取list集合的总数

obj就是后台传的list集合 怎么获取obj的总数 就是数据库有多少前台就获取多少 obj.length 不行

首先确认一下,返回的obj是对象数组还是json串,如果是对象数组,那么你的用法应该是没有问题的,如果是json串,你需要用 var list = eval("("+obj+")"); 将其转换为对象数组,然后再取list.length追问

这样写了之后alert(list)都不输出出来   下面的代码都不执行了

obj是JOSN格式的字符串

追答

如果是字符串的话,应该是没有问题的,下面代码完全复制到一个新网页中试试:

读取

function showlength() {
var obj = "[{'device':'2014年','geekbench':'1'},{'device':'2015年','geekbench':'8'}]";
var list = eval("(" + obj + ")");
alert(list.length);
}

追问

这段代码能显示但是我哪里就不行
假如我哪里可以显示 但是得到是2 我数据库有1+8 9条数据 这方法只能获取JOSN2个字符串

追答

这就是你返回的json串有问题了啊,比如说你是要返回2014年和2015年的数据,你的json串应该是:
[
{ "device": "2014年", "geekbench": [{ "data": "2014第一条数据" }] },
{ "device": "2015年", "geekbench": [{ "data": "2015第一条数据" }, { "data": "2015第二条数据" }, ... , { "data": "2015第八条数据" }] }
]

追问

好像没问题  我主要是做柱状统计图 "[{'device':'2014年','geekbench':'1'},{'device':'2015年','geekbench':'8'}]";geekbench就是几几年的总数  用Bootstrap做统计的  

追答

如果你只需要知道2014年和2015年有几条数据的话,就用转换之后的对象数据获取啊,以之前的例子来说,list[0].geekbench就是2014年的geekbench数据,list[1].geekbench就是2015年的geekbench数据

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答