@ldmitriy

В чем отличие JSON объекта от литерала объекта?

var x = {
		 	"a" : "5",
		 	"b" : "6"
		 }


var x = {
		 	a : "5",
		 	b : "6"
		 }
  • Вопрос задан
  • 548 просмотров
Решения вопроса 1
IonDen
@IonDen
JavaScript developer. IonDen.com
JSON - это не объект, это формат записи строки, который может быть легко и просто трансформирован в объект. По сути, ваш первый пример лучше всего записать действительно как строку, так: '{"a":"5","b":"6"}'

Если же ваш вопрос о том, в чем разница в записи названий ключей в кавычках и без кавычек, то это очень просто. JS изобилует спец. символами, зарезервированными словами и прочими ограничениями. По этому, записывая имя ключа, нужно всегда держать это в уме:
// не валидно
var x = {
	Hey man !: 10
};

// валидно
var x = {
	"Hey man !": 10
};

В старых браузерах были проблемы при использовании зарезервированных слов вроде switch или class в качестве ключей и т.п.

Заключение имени ключа в кавычки - гарантированный способ получить корректный результат (почти, конечно нужно следить чтобы внутренние кавычки были закодированы).
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
severus256
@severus256
Code everywhere....
JSON object это просто коллекция ключ (string) : значение (string). Данные будут передаваться исключительно как строковые. Второе же, что-то вроде свойство объекта - значение. Подробнее описано тут
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы