【发布时间】:2014-09-25 03:07:12
【问题描述】:
我有一个简单的测试 JSON 字符串:
<!DOCTYPE html>
<html>
<body>
<h2>JSON Object Creation in JavaScript</h2>
<p id="demo"></p>
<script>
var txt = '{"name":"Jimmy","street":"Hill Street","phone":"555 1234567"}';
//var txt = "{'name':'Jimmy','street':'Hill Street','phone':'555 1234567'}";
var obj = JSON.parse(txt);
document.getElementById("demo").innerHTML =
obj.name + "<br>" +
obj.street + "<br>" +
obj.phone;
</script>
</body>
</html>
为什么第一个有效而第二个无效?
双引号/单引号的 JSON 字符串有什么规则吗?
谢谢。
【问题讨论】:
-
是的,您可以在 json.org 和 en.wikipedia.org/wiki/JSON#Data_types.2C_syntax_and_example 上了解它。同样的问题,不同的语言:stackoverflow.com/q/4162642/218196
-
官方语法只允许双引号。一些解析器显然会接受单引号,但这是非标准的。
-
谢谢。所以当我从Java Code生成JSON字符串的时候,在字符串中加这么多\"会很麻烦。
-
最好创建适当的列表/地图并使用 JSON 序列化程序。
标签: json