nodejs REPL 不处理 JSON.parse()?

nodejs REPL doesn't process JSON.parse()?

我正在尝试使用 REPL 的节点,从字符串解析失败,如下所示:

$node
> var str="{'a':1,'b':2}"
undefined
> var js=JSON.parse(str)
SyntaxError: Unexpected token ' in JSON at position 1

但是反向解析似乎没问题:

> var json = {a : ' 1 ',b : ' 2'};
undefined
> var str = JSON.stringify(json);
undefined
> str
'{"a":" 1 ","b":" 2"}'

我哪里错了?

您的 JSON:

中存在语法错误
{'a':1,'b':2}
 ^
 |
 '--- invalid syntax. Illegal character (')

JSON 与 Javascript 对象文字不同。 JSON 是一种 file/data 格式,它与对象文字语法兼容但更严格。 JSON 格式由 Douglas Crockford 指定并记录在 http://json.org/

JSON和对象字面量的一些区别:

  • 属性 名字是字符串
  • 字符串以双引号 (") 开头和结尾
  • 不支持十六进制数字(例如 0x1234)

等等