-1

JSON ファイルが次のようになっている場合は、JavaScript のキーと値のペアを取得する必要があります。

 [[{"field":"name","message":"Insert name!"},{"field":"surname","message":"Inseerts     
 urname!"},{"field":"email","message":"Insert email"}]];

現在のソリューションは、Object object Object object Object object などのような 1 つのオブジェクトを返します。

コード:

 var result = jQuery.parseJSON(data);
 var json_text = JSON.stringify(result, null, null);
4

1 に答える 1

2

概念を混同していると思います。次のような 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.parseorを使用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' ?
于 2013-10-12T13:45:49.640 に答える