使用不带索引的javascript解析数组中的JSON数组
我不知道如何表达标题,但我的问题是: 以下是我的javascript:使用不带索引的javascript解析数组中的JSON数组,javascript,json,multidimensional-array,Javascript,Json,Multidimensional Array,我不知道如何表达标题,但我的问题是: 以下是我的javascript: $.post("register", element.serialize(), function(data){ if(data.success == "true"){ // Do whatever } else if (data.success == "false"){ f
$.post("register", element.serialize(),
function(data){
if(data.success == "true"){
// Do whatever
} else if (data.success == "false"){
for (i = 0; i < data.errors.length; i++){
// This is what I need to change
alert(data.errors[i][0]);
}
}
}, "json");
分解,即:
errors: {
email: "error with email"
username: "error with username" }
success: "false"
我希望警报显示“电子邮件错误”和“用户名错误”
但我似乎什么都没做,有什么想法吗
谢谢使用for(in)
循环。这将允许您迭代对象的属性
var msgs = [];
for (var error in errors) {
msgs.push(errors[error]);
}
数据。错误
不是数组。它是一个具有以下属性的对象:
data.errors.username
data.errors.email
你的问题不清楚你想对这两个属性做什么,但这就是你访问它们的方式
如果要迭代errors对象的属性,可以这样做:
for (var key in data.errors) {
// data in data.errors[key] here
}
问题在于
errors
属性不是数组
,而是具有属性的对象。
以下是您应该使用的代码:
alert(data.errors.email);
和有效的数组
对象声明,请注意[]
:
errors: [
{ email: "error with email", username: "error with username" },
{ email: "error with email 2", username: "error with username 2" }
]
尝试警报(data.errors.username);对不起,我不清楚,我不一定知道索引是什么。我想在不知道“email”或“username”的情况下显示字符串下面的一些答案解决了问题,谢谢大家
errors: [
{ email: "error with email", username: "error with username" },
{ email: "error with email 2", username: "error with username 2" }
]