解析JSON数组中的数组与javascript没有索引
Parsing JSON array within array with javascript without index
我不确定如何表达标题,但这是我的问题:
这是我的javascript:
$.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");
这里是传入的JSON字符串:
{"success":"false","errors":{"username":"error with username","email":"error with email"}}
拆分,即:
errors: {
email: "error with email"
username: "error with username" }
success: "false"
我想提醒说"错误与电子邮件"answers"错误与用户名"
我所做的一切似乎都不起作用,有什么想法吗?
谢谢
问题是您的errors
属性不是array
,而是具有属性的object
。下面是你应该使用的代码:
alert(data.errors.email);
和有效的array
对象声明,注意[]
:
errors: [
{ email: "error with email", username: "error with username" },
{ email: "error with email 2", username: "error with username 2" }
]
data.errors
不是数组。它是一个具有属性的对象:
data.errors.username
data.errors.email
你的问题不清楚你想用这两个属性做什么,但这就是你访问它们的方式。
如果你想迭代errors对象的属性,你可以这样做:
for (var key in data.errors) {
// data in data.errors[key] here
}
使用for ( in )
循环。这将允许您遍历对象的属性。
var msgs = [];
for (var error in errors) {
msgs.push(errors[error]);
}
相关文章:
- 如何遍历包含对象的数组-javascript
- 保存数组javascript
- 查找数组javascript中包含的元素类型
- 算法:从数组(javascript/angular)中按当前日期获取上一个和下一个事件
- 从多维数组javascript中提取特定值
- 如何在数组javascript中选择伪随机值
- 拆分字符串数组(JavaScript)后未定义
- 从数组JavaScript中删除并返回最后n个项的最快方法
- 使用条件for循环更新数组-Javascript
- 从数组javascript创建新对象
- 用数组(javascript)中的值替换regex捕获
- 从数组[Javascript]的总长度中减去一个干净的数字
- 将一个字符串数组解析为一个新的数组javascript
- 如何将对象转换为对象数组javascript
- 赢得't循环数组javascript
- 从不同的数组 JavaScript 中获取值
- 多维数组 JAVASCRIPT 出了点问题
- 可以't分配给一个对象数组javascript
- 比较数组JavaScript中的对象
- 如何完成缺少(连续)元素的数组|Javascript