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

JSON.parse doesn't seem to parse object data?

本文关键字:对象 数据 parse JSON      更新时间:2023-09-26

我在 iframe 之间进行通信,但 json.parseing 到 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>

为了将字符串正确解析为 JSON 对象字符串,键和值必须用引号括起来"

JSON.parse()在ECMA-262第五版中定义,几乎任何浏览器都支持它。

如何使用?

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

如果你使用的是jquery,它有一个解析json函数$.parseJSON,但它比原生JSON.parse慢,所以如果JSON对象不可用,最好使用jquery函数。

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