繁体   English   中英

jQuery.each-如何遍历JSON对象元素?

[英]jQuery.each - How to iterate over JSON objects element?

我是玩JSON的新手。 我需要遍历来自AJAX的JSON响应,实际上,我是从db表中以2,3,7,9,3的形式获取复选框值。 现在我在每个数字上都坚持迭代。

如果在FF控制台区域中运行以下代码,您会发现它正在针对每个数字NOT THE VALUE循环。

请指导我。

var srv = {"services":"26,29"};

jQuery.each( srv.services, function(i, v) {
    console.log( v );
});

任何帮助,将不胜感激。 谢谢 :)

srv.services是由逗号分隔的值的字符串,因此$.each()无法正常工作。 您可以拆分()成一个数组:

var srv = {"services":"26,29"};

jQuery.each(srv.services.split(","), function(i, v) {
    console.log( v );
});

工作演示: http : //jsfiddle.net/AndyE/veP4p/

您还可以让JSON服务返回一个数组而不是一个字符串,例如{"services":[26, 29]} 如果您使用正确的JSON兼容方法进行编码并且数据是数组,则将在服务器上自动为您完成此操作。

它不是有效的json数组,您的json数据应如下所示:

var srv = {"services": ["26", "29"]};

..或原因是,您可以使用js split函数拆分字符串数据:

jQuery.each(srv.services.split(","), function(i, v) {
    console.log( v );
});

不确定这是否是您问题的答案,但是从上面给出声明,请尝试在上拆分,然后再进行迭代:

var srv = {"services":"26,29"};

jQuery.each( srv.services.split(','), function(i, v) {
    console.log( v );
});

演示

您必须先创建一个数组

var srv = {"services":"26,29".split(",")};

jQuery.each( srv.services, function(i, v) {
    console.log( v );
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM