0

どこで何かが足りないのかわかりませんが、これはあります

var myvar = [{"id":1,"name":"name1"},{"id":2,"name":"name2"}];

そして私はこれを試しました

$(jQuery.parseJSON(JSON.stringify(myvar))).each(function() {  
        console.log(this.name);
});

しかし、コンソールにエラーがあります:Syntax error, unrecognized expression [{"id":1,"name":"name1"},{"id":2,"name":"name2"]

何かが足りないのですが、何がわかりませんか?

編集:実際、コンソールにmyvarをコピーして貼り付け、解析を実行すると、機能しますか?しかし、ページを更新し、myvarを次のように取得すると:console.log(myvar)、[{"id":1、 "name": "name1"}、{"id":2、 "name ":" name2 "}]、通常はchromeのコンソールからオブジェクトであることを通知されません

4

4 に答える 4

3

オブジェクトを閉じていません。

var myvar = [{"id":1,"name":"name1"},{"id":2,"name":"name2"}];
于 2013-01-25T13:56:05.860 に答える
2

最後に } がありません

var myvar = [{"id":1,"name":"name1"},{"id":2,"name":"name2"}];
于 2013-01-25T13:56:27.593 に答える
0

それは変だ; コードを試してもエラーが発生します。しかし、それは完全に問題ないようです。

これを試してみませんか:

jQuery(myvar).each(function () {
    console.log(this.name);
});

この出力

name1
name2

私のコンソールで。すでにオブジェクトを文字列に変換し、オブジェクト(配列)に戻しているので、これは解決策のようです。

于 2013-01-25T14:13:24.533 に答える
0

これは正しい構文です:

$(jQuery.parseJSON(myvar)).each(function() {  
    console.log(this.name);
});

(実際、コンソールに myvar をコピーして貼り付けて解析を実行すると、動作します。しかし、ページを更新して myvar を取得すると、次のようになります: console.log(myvar), [{"id" :1,"name":"name1"},{"id":2,"name":"name2"}], 通常は chrome のコンソールからオブジェクトであると通知されません)

于 2013-01-25T14:12:03.477 に答える