javascript - 如何使用 jquery .each() 循环解析 JSON 数组

标签 javascript jquery arrays json

我正在解析以下数据,然后循环尝试获取每个状态 ID 和名称。

{
    "billing": {
        "ACT": "Australian Capital Territory",
        "NSW": "New South Wales",
        "NT": "Northern Territory",
        "QLD": "Queensland",
        "SA": "South Australia",
        "TAS": "Tasmania",
        "VIC": "Victoria",
        "WA": "Western Australia"
    },
    "shipping": {
        "ACT": "Australian Capital Territory",
        "NSW": "New South Wales",
        "NT": "Northern Territory",
        "QLD": "Queensland",
        "SA": "South Australia",
        "TAS": "Tasmania",
        "VIC": "Victoria",
        "WA": "Western Australia"
    }
}

data = '{"billing":{"ACT":"Australian Capital Territory","NSW":"New South Wales","NT":"Northern Territory","QLD":"Queensland","SA":"South Australia","TAS":"Tasmania","VIC":"Victoria","WA":"Western Australia"},"shipping":{"ACT":"Australian Capital Territory","NSW":"New South Wales","NT":"Northern Territory","QLD":"Queensland","SA":"South Australia","TAS":"Tasmania","VIC":"Victoria","WA":"Western Australia"}}';

data = jQuery.parseJSON( data );
billingData = data.billing;

$(billingData).each( function( key, value ) {
    console.log( key + value);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

我期望控制台循环遍历每个状态 ID 和标签,但我得到它们的键为 0,值作为对象,我还尝试循环遍历输出的对象(包含在原始 的值中) >.each).

我还尝试过循环遍历 billingData[0]

最佳答案

您需要使用 jQuery.each() 而不是 .each() 来完成这项工作。

.each()循环遍历 jquery 元素但 jQuery.each()循环遍历数组或对象。

data = '{"billing":{"ACT":"Australian Capital Territory","NSW":"New South Wales","NT":"Northern Territory","QLD":"Queensland","SA":"South Australia","TAS":"Tasmania","VIC":"Victoria","WA":"Western Australia"},"shipping":{"ACT":"Australian Capital Territory","NSW":"New South Wales","NT":"Northern Territory","QLD":"Queensland","SA":"South Australia","TAS":"Tasmania","VIC":"Victoria","WA":"Western Australia"}}';

data = jQuery.parseJSON(data);
billingData = data.billing;

$.each(billingData, function(key, value) {
 console.log(key +": "+ value);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

关于javascript - 如何使用 jquery .each() 循环解析 JSON 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53031663/

相关文章:

python - 如何用堆叠在 numpy 数组中的一组图像制作电影?

javascript - React.js 从 js 数组中获取数据

javascript - 在学习编程之前我应该​​尝试学习的第一件事是什么?

javascript - 停止 Chrome 扩展中的内容脚本

javascript - 使用缓存选择器(jQuery)选择子元素

jquery - 使用 jQuery Mobile,我如何检测用户每次查看数据角色 ="page"

c++ - 从数组中获取字节值并合并它们。

java - 将正则表达式添加到列表中以进行排序

javascript - 在 ES6 类中实现数据隐私的另一种方法

javascript - 未触发可排序句柄