jquery 回调方法中如何解析JSON集合数据?

[{"stuList":[{"age":11,"id":1,"name":"w11"},{"age":22,"id":2,"name":"w22"},{"age":33,... [{"stuList":[{"age":11,"id":1,"name":"w11"},{"age":22,"id":2,"name":"w22"},{"age":33,"id":3,"name":"w33"}]}]
请问这样的集合数据怎么解析?前面带个stuList名字
展开
 我来答
daidalei321
推荐于2016-12-05 · 超过20用户采纳过TA的回答
知道答主
回答量:81
采纳率:0%
帮助的人:49.4万
展开全部
这个简单,假如JSON集合数据为data:
var stuListData = data[0].stuList; //获取stuList
for(var i=0;i<stuListData.length;i++){ //循环遍历stuList
alert("age="+stuListData[i].age+" id="+stuListData[i].id+" name="+stuListData[i].name);
}
追问
嗯,后来我想了下这样可以,但是有个问题,假如你做分页功能,需要同时向页面传"多个不同类型的值",比如总页数、当前页数,这些都是单个属性值,还有就是List集合数据,请问这些一起传用JSON怎么实现?如果这么多数据还是用[0]的方式,是不是有些不靠谱了呢?而且取值不明确
追答
那也没问题啊,假如做分页的话,你完全可以把总页数、当前页数、List集合...等等 都用Map存储,然后转乘JSON格式。到前台了取值跟我写的差不多,就不用[0]了,直接data.键名称就得到了。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
handangaoyang
2013-08-08 · TA获得超过2242个赞
知道大有可为答主
回答量:2633
采纳率:88%
帮助的人:914万
展开全部
if(data.length>0)
{
    var data = eval("("+data+")");
    var dataList = data.stuList;
    for(var i=0;i<dataList.length;i++)
    {
        //可以解析了;
        //dataList[i].age
        //dataList[i].name
        //dataList[i].id
    }
}
追问
谢谢你的回答,看来这段代码写的比我成熟
追答
写多了而已,以后你会更上一层楼。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
happy火苗90
2013-08-08
知道答主
回答量:23
采纳率:0%
帮助的人:10.7万
展开全部
$.ajax({
type:"GET",
url: urls,
success: function(data){
data=eval("("+data+")");
............
用eval这个函数即可 然后直接data['stulist'] 完事 eval()这个函数把你返回的json数据 转化为了数组
追问
嗯,我在java中直接将集合用JSONObject处理成JSON对象形式,在Jquery回调方法中就能直接使用data.stuList了,你说的eval方法也可以,具体用那个看功能而定吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
张策是gou
2013-08-08 · TA获得超过250个赞
知道小有建树答主
回答量:275
采纳率:0%
帮助的人:89.2万
展开全部
var tempJson = Ext.decode(response.responseText);
然后用火狐浏览器调试,点击看看tempJson里面有什么,然后你就知道怎么解析了!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式