Как предотвратить преобразование тегов XML с тем же именем в массив при преобразовании строки XML в JSON с использованием Python? - PullRequest
0 голосов
/ 05 октября 2018

У меня есть XML-файл, который имеет следующий формат -

<root>
   <tag>
   This is the first Value.
   </tag>
   <tag>
   This is the second Value.
   </tag>
</root>

Когда я преобразую эту строку XML в JSON в Python, используя следующий код

jsonString=json.dumps(XML_String)

Тег становитсямассив и JSON-файл, который я получаю, выглядит следующим образом:

{"root":["tag":"This is the first Value",
         "tag":"This is the second Value"]}

То, что я на самом деле хочу, это то, что тег <root> должен быть объектом, а не массивом.Вот так -

{"root":{"tag":"This is the first Value",
         "tag":"This is the second Value"}}

Как добиться такого формата?

Ответы [ 2 ]

0 голосов
/ 11 марта 2019

Я решил эту проблему, создав настраиваемую строку JSON.И это действительно сработало.Массивы не были созданы.

0 голосов
/ 05 октября 2018

То, что вы хотите сгенерировать, является недействительным JSON.

Ну, возможно, не совсем неверно, но, по крайней мере, вопреки хорошей практике: RFC 8259 говорит: «Когда имена в объекте не уникальны, поведение программного обеспечения, которое получает такой объект, непредсказуемо. Многие реализациисообщать только о паре фамилия / значение. Другие реализации сообщают об ошибке или не выполняют синтаксический анализ объекта, а некоторые реализации сообщают обо всех парах имя / значение, включая дубликаты. "

Так что не делайте этого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...