循环遍历JSON中的键和值

时间:2012-11-13 15:57:33

标签: jquery

这是JSON返回

var errorsObject = JSON.parse('{ "fieldErrors": {"name":["You must enter your name1"],"name":["You must enter your name2"],"age":["Only people ages 13 to 19 may take this quiz"]}}');

下面的代码第一个循环工作正常,我得到名称,年龄等关键名称。在第二个循环中想要获取从外循环中选择的键的值。 Issue is errors.fieldErrors[key]。我需要首先只使用名称循环键并获得2个值。

$.each(errors.fieldErrors, function(key, val) {
    alert("key->" + key); //Fine
    $.each(errors.fieldErrors[key], function(index, val) {
        alert("key->" + key + ", val->" + val);
    });
});

1 个答案:

答案 0 :(得分:6)

对象不能包含两次相同的密钥,因此您尝试做的事情是不可能的。解析JSON时,第一条消息将丢失。

但是,您的值是数组 - 为什么不更改返回JSON的代码以正确使用这些数组?假设它是由PHP代码创建的,你可以创建这样的JSON气味,就像有人使用字符串函数创建它而不是json_encode - 另一件事应该改变......