Ограничения на название ключей в JSON

295
22 сентября 2017, 21:51

Разбираю файл JSON с помощью JSON.parse(); Выясняется такая вещь, что ключ с дефисом не работает. К примеру, этот ключ выдает ошибку: "app-categoty": "Игры"

Если поменять на: "appCategoty": "Игры" "app_categoty": "Игры" и даже: "категорияИгр": "Игры" Работает без проблем.

В спецификации ограничение на дефис не нашел. В чем может быть проблема?

Answer 1

Вот тебе пример, демонстрирующий тот факт, что в JSON могут быть свойства с дефисом и это не противоречит документации. А вот если ты будешь уже обращаться к свойству как objectFromJSON.app-category то получишь ошибку, так как дефис зарезервирован в JS. Следовательно тебе нужно обращаться в этому свойству как objectFromJSON['app-category']

Следовательно

const data = { 
  'app-category': 'Игры' 
}; 
 
const JSONData = JSON.stringify(data); 
const objectFromJSON = JSON.parse(JSONData); 
 
console.log(objectFromJSON);

READ ALSO
node js не работает на хостинге

node js не работает на хостинге

Возникла проблема с запуском node js серверной части на удаленном хостинге

359
Как написать юнит-тест на замыкание?

Как написать юнит-тест на замыкание?

не пойму, как такую функцию вызвать в юнит-тесте?

235