这是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);
});
});
答案 0 :(得分:6)
对象不能包含两次相同的密钥,因此您尝试做的事情是不可能的。解析JSON时,第一条消息将丢失。
但是,您的值是数组 - 为什么不更改返回JSON的代码以正确使用这些数组?假设它是由PHP代码创建的,你可以创建这样的JSON气味,就像有人使用字符串函数创建它而不是json_encode
- 另一件事应该改变......