1

ネイティブJSON.parseは、FF(使用中のバージョン13.0.1)での実装が不十分なようです。私は、IE、Chrome、およびFFで次のテストコードを試しました。最初の2つのブラウザーは、json文字列をオブジェクトに正しく解析しているように見えますが、FFは解析していません。

var jsonObj = { 
        onetype: [
            {id:1,name:"First Name"},
            {id:2,name:"Second Name"}
        ]
};
var serializedJsonObj = JSON.parse(JSON.stringify(jsonObj));
serializedJsonObj.onetype[1].name;

「SecondName」を出力に出力する必要があると思いますが、obj.onetypeプロパティは実際には文字列であるため、このFFの代わりに「undefined」を出力します。オブジェクトに解析するには、JSON.parseを再度呼び出す必要があります。

var jsonObj = { 
        onetype: [
            {id:1,name:"First Name"},
            {id:2,name:"Second Name"}
        ]
};
var serializedJsonObj = JSON.parse(JSON.stringify(jsonObj));
JSON.parse(serializedJsonObj.onetype)[1].name;

私は何かが足りないのですか?

4

1 に答える 1

0

これは、lib.jsに含まれている古いPrototype.jsライブラリでした(誰がこれを行うのでしょうか??)。私の場合のこの動作が無効であると主張する2つのコメントを読んだ後、私はそれをテストするために問題を経験している実際のケースでテストページを作成しましたが、それはもはや再現できません。

于 2014-03-25T02:03:52.260 に答える