Я думаю, вы должны знать, в чем разница между JSON и литералом JavaScript Object, они могут выглядеть точно так же, но есть некоторые семантические различия.
JSON - это не зависящий от языка формат обмена данными, предложенный Дугласом Крокфордом в 2006 году, его грамматика отличается от JavaScript Литералы объектов , в основном благодаря только строковые ключи и значения ДОЛЖНЫ быть объектом, массивом, числом, строкой или одним из литеральных имен: false
, true
или null
.
Если говорить о массивах, в JavaScript они могут содержать значения любого типа, примитивные значения, такие как String
, Number
, Boolean
, undefined
или null
, и любые типы объектов, даже объекты с методами. , хост-объекты, такие как элементы DOM, Date
объекты и т. д.
Синтаксические диаграммы массивов и значений JSON могут вам помочь:
(источник: json.org )
(источник: json.org )