Javascript ^如何解析从服务器接收的多个JSON数组?

Javascript ^如何解析从服务器接收的多个JSON数组?,javascript,jquery,ajax,json,Javascript,Jquery,Ajax,Json,以下是我从服务器收到的Json数据: [ {"Name":"A"}, {"Name":"B"}, {"Name":"C"}, {"Name":null} ] [ {"Name":null}, {"Name":"D"}, {"Name":null} ] [ {...}, {...} ] 如何在AJAX成功属性中使用JQUERY解析它 以下是我的Ajax代码: $.ajax({ url:

以下是我从服务器收到的Json数据:

[
     {"Name":"A"}, 
     {"Name":"B"},
     {"Name":"C"},
     {"Name":null}
]
[
     {"Name":null},
     {"Name":"D"},
     {"Name":null}
]
[ 
     {...},
     {...}
]
如何在AJAX成功属性中使用JQUERY解析它

以下是我的Ajax代码:

$.ajax({    
    url: '#.php',
    type: 'post',
    async: false,
    data: {},
    dataType: 'json',
    success: function(data){
        var str = JSON.stringify(data);
        var obj = JSON.parse(str);

        for(var i=0; i< data.length;i++)
        {
            alert(data[i].Name);
        }
    },
    complete: function(xhr,status){
        alert(status);
    },
    error: function(xhr){
        alert("An error occured: " + xhr.status + " " + xhr.statusText );
        alert("An error occured. Please Try Again");
    }
})
此代码不工作,并且在完成时给出了解析器错误。 我想显示收到的所有姓名。
请提供帮助。

您从服务器收到的数据不是有效的JSON,如果是,则可能是无效的 比如:

[
    [{
        "Name": "A"
    }, {
        "Name": "B"
    }, {
        "Name": "C"
    }, {
        "Name": null
    }],
    [{
        "Name": null
    }, {
        "Name": "D"
    }, {
        "Name": null
    }]
]
这将更容易解析:

[{
    "Name": "A"
}, {
    "Name": "B"
}, {
    "Name": "C"
}, {
    "Name": null
}, {
    "Name": null
}, {
    "Name": "D"
}, {
    "Name": null
}]

服务器返回的数据不符合JSON语法。 为了获得正确的JSON结构,应该只有一个父对象,而不是多个数组

如果您可以修改服务器的输出,请考虑以下备选方案:

创建父数组:

然后访问数据[0],在success函数中检索数组

创建父对象:


然后访问success函数中的data.myArrays。

alertdata[i].Name;这是对的还是应该是alertobj[i].Name?这是因为您的json无效。您需要发送有效的json格式。另外,在旁注中,没有必要对数据进行字符串化,然后对其进行解析,因为它已经被解析为json。您不能在json中返回多个数组。正如@SebastianNette所说,返回字符串的格式无效。@KDP:我不知道,所以问题来了!json是如何生成的?
[ your_arrays ]
{myArrays : your_arrays}