我有一个简单的测试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字符串规则?
感谢。
答案 0 :(得分:1)
JSON需要双引号用于字符串文字。
见json.org。有关JavaScript上下文中的JSON语法,请参阅ECMAScipt规范中的第5.1.5节和第15.12.1节:http://www.ecma-international.org/ecma-262/5.1/#sec-5.1.5。