我认为您混淆了这些概念。包含 JSON 数据的 STRING 之间存在差异,例如:
var json = '[[{"field":"name","message":"Insert name!"},{"field":"surname","message":"Inseertssurname!"},{"field":"email","message":"Insert email"}]]';
以及一个包含 JSON 数据的 OBJECT,例如:
var data = [[{"field":"name","message":"Insert name!"},{"field":"surname","message":"Inseertsurname!"},{"field":"email","message":"Insert email"}]];
您必须解析前者(例如使用JSON.parse
or jQuery.parseJSON
),然后将其转换为后者,然后您可以直接在脚本中访问(JSON = JavaScript Object Notation)。
您的数据是对象的双重嵌套列表,可以这样访问:
console.log(data[0][1].field);
data[0].forEach(function (obj) { console.log(obj.field + ': ' + obj.message); });
(列表也是对象(typeof [] === 'object'
)但一种特殊情况,请参阅 Igor 已经建议的答案)。
如果您正在使用库检索数据,您通常会将数据作为准备访问的对象,如果有疑问,请尝试:
typeof data // 'string' or 'object' ?