我有json数组
JSON.stringify(ar)
当我用来显示警告中的结果时
alert(JSON.stringify(ar));
它会显示出来。警报中的输出很简单
[{ “URL”: “LINK1”, “标题”: “TITLE1”}]
但当我用它将内容转移到播放列表数组时,比如
var playlist=[];
playlist=JSON.stringify(ar); alert (JSON.stringify(playlist[1].url));
并尝试显示其结果,它给了我错误并给了我未定义的
请帮我解决一下。
答案 0 :(得分:0)
在此之后
var playlist=[];
playlist=JSON.stringify(ar)
播放列表包含字符串,因此如果要提取网址,则需要再次解析该JSON
alert(JSON.parse(playlist)[1].url);
但是如果你放[1]
那么数组需要有两个元素:
[{"url":"link1","title":"title1"},{"url":"link1","title":"title1"}]
答案 1 :(得分: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"