Разрешает ли синтаксис JSON повторяющиеся значения?

Это действительный JSON?

{
    "a" : [
      "x",
      "x"
    ]
}

http://jsonlint.com/ говорит "да".

http://www.json.org/ ничего не говорит о том, что это запрещено, но говорит :

JSON построен на двух структурах:

  • Коллекция пар имя/значение. В различных языках это реализуется как объект, запись, структура, словарь, хеш-таблица, список с ключами или ассоциативный массив. Упорядоченный список значений. В большинстве языков это реализовано в виде массива, вектора, списка или последовательности.

  • Упорядоченный список значений. В большинстве языков это реализовано в виде массива, вектора, списка или последовательности.

«Упорядоченный список значений» предполагает, что дубликаты допустимы. Это правильно? Есть ли что-то более явное? Есть ли реализация JSON, которая не допускает дублирования значений?

(Вот соответствующий вопрос о дублирующихся ключах.)


person Hugo    schedule 15.12.2015    source источник


Ответы (1)


Это действительный JSON. Запрещено иметь дубликаты ключей, например:

{
    "a": 1,
    "a": 2
}

Кроме того, я считаю, что «упорядоченный» относится к тому факту, что значения имеют предопределенный, хорошо установленный порядок, а не к тому, что они каким-либо образом отсортированы :)

person Octav Zlatior    schedule 15.12.2015