Javascript ^如何解析从服务器接收的多个JSON数组?
以下是我从服务器收到的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:
[
{"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}