Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么JSON.parse(“{key:”value“}”)做得很好,而JSON.parse(“{key:”value“}”)做得不好?_Javascript_Json_Node.js - Fatal编程技术网

Javascript 为什么JSON.parse(“{key:”value“}”)做得很好,而JSON.parse(“{key:”value“}”)做得不好?

Javascript 为什么JSON.parse(“{key:”value“}”)做得很好,而JSON.parse(“{key:”value“}”)做得不好?,javascript,json,node.js,Javascript,Json,Node.js,从节点REPL: > JSON.parse('{"key" : "value"}') { key: 'value' } > JSON.parse('{key : "value"}') SyntaxError: Unexpected token ILLEGAL at Object.parse (native) at [object Context]:1:6 at Interface.<anonymous> (repl.js:171:22)

从节点REPL:

> JSON.parse('{"key" : "value"}')
{ key: 'value' }
> JSON.parse('{key : "value"}')
SyntaxError: Unexpected token ILLEGAL
    at Object.parse (native)
    at [object Context]:1:6
    at Interface.<anonymous> (repl.js:171:22)
        at Interface.emit (events.js:64:17)
    at Interface._onLine (readline.js:153:10)
    at Interface._line (readline.js:408:8)
    at Interface._ttyWrite (readline.js:585:14)
    at ReadStream.<anonymous> (readline.js:73:12)
    at ReadStream.emit (events.js:81:20)
    at ReadStream._emitKey (tty_posix.js:307:10)

JSON中的所有键都是字符串,所有字符串都用双引号分隔


JavaScript允许您使用不同的字符来分隔字符串,并允许您使用标识符作为对象文本中的键-但JSON不是JavaScript。

JSON中的所有键都是字符串,所有字符串都用双引号分隔


JavaScript允许您使用不同的字符来分隔字符串,并允许您使用标识符作为对象文本中的键,但JSON不是JavaScript。

JSON要求键和值都是字符串


JSON希望键和值都是字符串


因为您的第二个示例不是JSON

因为第二个示例不是JSON

+1。此外,如果要检查某个内容是否是有效的json,可以使用诸如+1之类的验证器。此外,如果您想检查某个内容是否是有效的json,您可以使用一个验证器,例如值实际上不必是字符串。它们可以是布尔、数字等,但键必须是字符串。值实际上不必是字符串。它们可以是布尔、数字等,但键必须是字符串。