Я думаю, вы путаете понятия. Существует разница между строкой, содержащей данные в формате JSON, например, это:
var json = '[[{"field":"name","message":"Insert name!"},{"field":"surname","message":"Inseertssurname!"},{"field":"email","message":"Insert email"}]]';
и объект, который содержит данные в формате JSON, например, это:
var data = [[{"field":"name","message":"Insert name!"},{"field":"surname","message":"Inseertsurname!"},{"field":"email","message":"Insert email"}]];
Прежний вы должны разобрать (для пример с JSON.parse
или 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'
), но это особый случай, смотрите ответ Игорь уже предложенный).
Если вы извлекаете данные с библиотекой, вы часто получаете ваши данные в виде объекта, готовых к доступу, если в сомнении попробовать:
typeof data // 'string' or 'object' ?
возможно дубликат [Access/процесс (вложенные) объекты, массивы или JSON] (http://stackoverflow.com/questions/11922383/access-process-nested-objects-arrays-or-json) –
Существует проблема с предоставленным вами JSON, вы написали его или просто скопируете и вставьте это, потому что вам не хватает цитаты прямо после «Вставить адрес электронной почты» – cromanelli
Я скопировал ее неправильно, я уже исправил вопрос! – wanttobeprofessional