如何处理不同的JSON

时间:2014-12-18 13:01:22

标签: php jquery json

我想处理不同的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为空。

我想用他们的值循环到用户名密码。

1 个答案:

答案 0 :(得分:1)

在第一个示例中,errors是一个数组,包含两个值。

Object: {array: [element1, element2]}

在第二个示例中,errors是一个对象,对象没有length属性。

Object: {Object: {array: [element], array[element]}}

要计算对象中元素的数量,您必须迭代元素并对它们进行计数。请参阅以下问题,了解具体方法:

How do I count a JavaScript object's attributes?