我想把一段JSON数据按每个键值一个个打印出来,应该怎么改?
var o = {
"ad": "gch",
"bd": "123"
};
var m = o.toString();
var tasks = JSON.parse(m);
for (var i in tasks) {
console.log(tasks[i]);
}
undefined:1
[object Object]
^
SyntaxError: Unexpected token o
at Object.parse (native)
at Object.<anonymous> (/Users/guchenghao/Atom-code/program/javascript/test.js:6:18)
at Module._compile (module.js:435:26)
at Object.Module._extensions..js (module.js:442:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:311:12)
at Function.Module.runMain (module.js:467:10)
at startup (node.js:136:18)
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
我知道楼主是想把一个对象变为字符串,然后再把它变为对象,正常的思路是使用
但是,tonString方法不是也可以返回字符串吗,楼主就采用了toString,可能是犀牛书上关于它讲得太多了,关于toString为何不对,请看链接描述
所以楼主的改为:
事实上,把对象转变为字符串,最简单的好像还就是JSON.stringify()
因为o.toString 结果为
'[object Object]'
它不是一个合法的JSON格式的字符串,JSON.parse自然就出错~~
上面代码怎么做的目的是?
想把键值打印出来,这样就好~~
o.toString()返回的不是json
你一定要这么做的话,那么就把
改成
就可以了。