JSON.parse似乎不解析对象数据?

时间:2013-10-07 20:34:03

标签: javascript

我在iframe之间进行通信,但是json.parsing到var然后使用document.write来转储它不包含任何内容。但是如果我alert(e.data),那就是。

<script>
window.onmessage = function(e) {

var j = JSON.parse(e.data);
document.write(j);
}
</script>

<script>window.postMessage("[1, 5, 'false']", '*');</script>

2 个答案:

答案 0 :(得分:2)

对于将字符串正确解析为JSON对象的字符串,键和值必须用引号"

包装

答案 1 :(得分:0)

JSON.parse()ECMA-262, fifth edition中定义,几乎所有浏览器都支持它。

如何使用它?

var json = '{"prop":"first","prop2":1}';
var o = JSON.parse(json);

如果你正在使用jquery,它有一个解析json函数$.parseJSON,但它比本地JSON.parse慢,所以如果JSON对象不可用,最好使用jquery函数。 / p>

var json = '{"prop":"first","prop2":1}';
var o = JSON && JSON.parse(json) || $.parseJSON(json);