Хорошо сформулировано, спасибо, пригодится.Sergei I. Gorelkin писал(а):JSON - это JavaScript Object Notation, буквальное отображение структуры javascript oбъекта в виде строки. Изначально предполагалось, что javascript объекты сериализуются в строку, передаются куда-то, и потом из строки восстанавливаются исходные объекты. Отсюда и (достаточно скудный) набор сущностей, которые можно записать в json.
Так как у объектов не может быть повторяющихся имен полей, то никакой объект не позволит получить строку, которую рассматривают в данной теме. А чтение такой строки приведет к многократной перезаписи полей, которые в конце будут иметь значения, равные последнему прочитанному.
iskander писал(а):Дискуссия начинает слегка напоминать притчу о слепых и слоне.
Да нет, все нормально, всё ясно.
Добавлено спустя 36 минут 4 секунды:
Sergei I. Gorelkin писал(а):*Rik* писал(а):Технически, такая конструкция допустима, но по факту, по какому то неписанному правилу или соглашению о работе с JSON (нигде не нашел почему так), почти все парсеры это прочтут, но из повторяющихся ключей, будут прочитаны только самые последние, т.е все парсеры приведут объект к виду { "tovar" : 180, "kolvo" : 2 }, в т.ч. и парсер fcl-json работает точно так-же.
JSON - это JavaScript Object Notation, буквальное отображение структуры javascript oбъекта в виде строки. Изначально предполагалось, что javascript объекты сериализуются в строку, передаются куда-то, и потом из строки восстанавливаются исходные объекты. Отсюда и (достаточно скудный) набор сущностей, которые можно записать в json.
Так как у объектов не может быть повторяющихся имен полей, то никакой объект не позволит получить строку, которую рассматривают в данной теме. А чтение такой строки приведет к многократной перезаписи полей, которые в конце будут иметь значения, равные последнему прочитанному.
Сергей, Вы не знаете, нет ли подобного описания в официальной документации на JSON?