Выбор ответа Junior Обмены и интеграции обновлено

Чтение JSON с дефисами

Вопрос

Сервис присылает {"order-id": 15}. Почему код падает?

Чтение = Новый ЧтениеJSON;
Чтение.УстановитьСтроку(Текст);
Данные = ПрочитатьJSON(Чтение);
Чтение.Закрыть();

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Объект читается в Структуру, а ключ "order-id" для неё недопустим. Дефис нельзя использовать в имени ключа структуры.

Варианты ответа

  1. Объект читается в Структуру, а ключ "order-id" для неё недопустимправильный ответ
  2. ЧтениеJSON не умеет читать числа без кавычек, значение должно быть строкой
  3. Перед чтением нужно сначала вызвать Чтение.Закрыть()
  4. JSON с дефисами в ключах не соответствует стандарту RFC

Разбор

Дефис нельзя использовать в имени ключа структуры. С параметром Истина объект прочитается в Соответствие, и значение будет доступно как Данные["order-id"]. Числа читаются нормально, Закрыть вызывают после чтения, а ключи с дефисами в JSON допустимы.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.

Термины по теме