nodejs REPL не обрабатывает JSON.parse ()? - PullRequest
0 голосов
/ 03 сентября 2018

Я пытаюсь узел с 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"}'

Где я ошибся?

1 Ответ

0 голосов
/ 03 сентября 2018

В вашем JSON есть синтаксическая ошибка:

{'a':1,'b':2}
 ^
 |
 '--- invalid syntax. Illegal character (')

JSON - это не то же самое, что литералы объектов Javascript. JSON - это формат файла / данных, который совместим с литеральным синтаксисом объекта, но является более строгим. Формат JSON был определен Дугласом Крокфордом и задокументирован в http://json.org/

Некоторые различия между JSON и объектными литералами:

  • Имена свойств являются строками
  • Строки начинаются и заканчиваются двойными кавычками (")
  • Шестнадцатеричные числа (например, 0x1234) не поддерживаются

и т.д.

...