概念を混同していると思います。次のような 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' ?