0

私はjson配列を持っています

JSON.stringify(ar)

次のようなアラートで結果を表示するために使用する場合

alert(JSON.stringify(ar));

そのまま表示されます。アラートの出力はシンプルです

[{"url":"link1","title":"title1"}]

しかし、その内容をプレイリストの配列に転送するために使用すると、

var playlist=[];
playlist=JSON.stringify(ar); alert (JSON.stringify(playlist[1].url));

その結果を表示しようとすると、エラーが発生し、未定義になります

整理するのを手伝ってください。

4

2 に答える 2

0

オブジェクト自体を処理する必要があります。JSON.stringifyオブジェクトを出力したり、ネットワーク経由で送信したりするときに、それらを読み取り可能な形式で表示するためにのみ必要です。

var ar = [{"url":"link1","title":"title1"}]

alert(ar); // equivalent to alert(ar.toString()), will show [object Object]
alert(JSON.stringify(ar)); // will show [{"url":"link1","title":"title1"}]
console.log(ar); // the proper way to do it, inspect the result in console

var playlist=[];

// then do either
playlist = playlist.concat(ar);
// or
playlist.push.apply(playlist, ar);
// or
playlist.push(ar[0]);
// or
playlist[0] = ar[0];
// or
playlist = ar;
// (which all do a little different things)
// but notice none of them used JSON.stringify!

// now you can
console.log(playlist)
alert(playlist[0].url); // shows link1 - this is what you want
alert(JSON.stringify(playlist[0].url)); // shows "link1"
于 2013-10-02T17:31:33.440 に答える
0

この後

var playlist=[];

playlist=JSON.stringify(ar)

プレイリストには文字列が含まれているため、URL を抽出する場合は、その JSON を再度解析する必要があります

alert(JSON.parse(playlist)[1].url);

しかし[1]、配列には次の 2 つの要素が必要です。

[{"url":"link1","title":"title1"},{"url":"link1","title":"title1"}]
于 2013-10-02T17:27:11.120 に答える