json
2014-09-25 192 views 0 likes 
0

我有一個簡單的測試JSON字符串:雙引號和單引號的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字符串的任何規則與雙引號/單引號?

謝謝。

+3

是的,你可以在http://json.org/和https://en.wikipedia.org/wiki/JSON#Data_types.2C_syntax_and_example上閱讀它。相同的問題,不同的語言:http://stackoverflow.com/q/4162642/218196 – 2014-09-25 03:13:19

+0

官方語法只允許雙引號。一些解析器顯然會接受單引號,但這是非標準的。 – 2014-09-25 03:15:11

+0

謝謝。因此,當我從Java代碼生成JSON字符串時,在字符串中添加如此多的「\」會很麻煩。 – Jimmy 2014-09-25 05:51:18

回答

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

相關問題