var text='[{"id":"1","title":"Hello world!","created":"1457222400","content":"Hello world"}]';
var json=eval('('+text+')');
for(var i=0;i<json.length;i++)
t+=json[i].title+'<br>';
box.innerHTML=t;
输出的结果为什么是undefinedHello world!
?
这是PHP传过来的么,
字符传搞的,数组不是数组 JSON不是JSON
你用的 +=
,目测变量 t 没有初始化: t = ''
。
有几点建议:
出现
undefinedHello
主要是因为,t没有初始化,又使用了+=,undefined +"Hello world"
就成了现在的结果。
2.最好不要使用evel
,这是非常危险以及不推荐的.
3.这段代码,改成这样可能好点。
var text='[{"id":"1","title":"Hello world!","created":"1457222400","content":"Hello world"}]',
t = "";
var json = JSON.parse(text);
for(var i=0;i < json.length; i++){
t+=json[i].title + "</br>"
}
box.innerHTML = t ;