我想处理不同的JSON格式。
在我的第一个例子中,我使用PHP的这种答案格式:
{
"errors": [ "username", "password" ]
}
$.ajax({
type: "GET",
url: "http://www.sample.com/js/l.php",
success: function(response) {
console.log(response);
var jsonResponse = JSON.parse(response);
if (jsonResponse['errors']) {
var t = "";
for (var i = 0; i < jsonResponse['errors'].length; i++) {
//works well for: {"errors":["username","password"]} ';
t = t + jsonResponse['errors'][i] + " ";
}
console.log(t);
}
}
});
控制台的结果是:用户名密码
如果我将json-response更改为
{
"errors": {
"username": ["credentials"],
"password": ["credentials"]
}
}
我不知道如何处理这件事。
该功能不起作用,因为jsonResponse['errors'].length
为空。
我想用他们的值循环到用户名密码。
答案 0 :(得分:1)
在第一个示例中,errors
是一个数组,包含两个值。
Object: {array: [element1, element2]}
在第二个示例中,errors
是一个对象,对象没有length
属性。
Object: {Object: {array: [element], array[element]}}
要计算对象中元素的数量,您必须迭代元素并对它们进行计数。请参阅以下问题,了解具体方法: