Анализатор строк JSON без литералов

python json python-2.7

84 просмотра

1 ответ

Как проверить, может ли строка, подобная этой {:[{},{}]}, без каких-либо литералов, быть представлена ​​как объект JSON или нет?

Входные данные имеют следующие ограничения: 1. Объект JSON должен начинаться с «{» и заканчиваться «}». 2. Ключ и значение должны быть разделены символом «:». 3. «,» предлагает дополнительное свойство JSON. 4. Массив состоит только из объектов JSON. Он не может содержать пару «ключ»: «значение» сам по себе.

И это должно быть истолковано так:

{
"Key": [{
"Key": "Value"
}, {
"Key": "Value"
}]
}
Источник Размещён: 08.11.2019 10:57

Ответы (1)


1 плюс

Решение

Синтаксис спецификации для JSON можно найти здесь .

Это указывает на то, что он [{},{}]является допустимым, поскольку []должен содержать 0 или более элементов, разделенных ,, и {}является допустимым элементом. Однако первая часть вашего примера НЕ верна - перед ней :должна быть строка. Хотя это допустимо, чтобы это была пустая строка, это не законно, чтобы она была нулевой, и интерпретация полностью отсутствующего элемента неоднозначна.

Так. {"":[{},{}]}законно, но {:[{},{}]}нет.

Автор: S McCrohan Размещён: 20.08.2016 06:37
Вопросы из категории :
32x32