在很多资料都介绍javascripte 字符串定界符可以是单引号' 或者双引号"都是同样的作用,真的是这样的吗?
下面是so简单的一个html
<!DOCTYPE html>
<html>
<body>
<h1>用 JSON 字符串创建对象</h1>
<p id="demo"></p>
<script>
var json_str = "{'name':'张三','age':25}";
obj = JSON.parse(json_str);
document.getElementById("demo").innerHTML = '姓名:'+ s.name + ' 年龄:'+ s.age;
</script>
</body>
</html>
我们期待的是这样:
但是实际上是这样:
提示已经报错了。
没有找到官方的标准说明,通过测试发现,在使用javascripte 内置对象JSON.parse()把json字符串转换成javascripte对象时,json字符串里面的key、value应该用双引号作定界符,用单引号是无效的。
因此下面json字符串才能成功换成javascripte对象
var json_str = '{"name":"张三","age":25}';