Json:Ошибка при загрузке нескольких вложенных словарей с использованием

#python #json #dictionary #load

Вопрос:

Я пытаюсь загрузить json (основанный на словаре python) в инструмент, как показано ниже. Все идет хорошо.Проблема в том, что из добавленных вложенных словарей последней пары ключ-значение будет загружен только первый («фаза:46,часть 008»). Другие пары ключевых значений игнорируются. Однако, когда подразделы состоят из двух разных пар значений ключа(например, «нормальные фазы» и «аномальные фазы», каждая из которых содержит одну пару значений ключа), такой проблемы нет, и оба загружаются правильно. У кого-нибудь есть предположения, почему это может быть так? Json выглядит следующим образом:

 {
    "nr": 135300,
    "first_age": 86,
    "heart_rate": "51",
    "metabolism": "Average amp; Assigned",
    "normal_phases": [
        {
            "phase": 46,
            "part": "008"
        },
        [
            {
                "phase": 45,
                "part": "053"
            }
        ],
        [
            {
                "phase": 567,
                "part": "007"
            }
        ],
        [
            {
                "phase": 591,
                "part": "446"
            }
        ]
    ]
},
 

Чтобы дать вам представление, фрагмент кода для создания последнего словаря (этап 591, часть 446):

         else:
            
            dict6 = [{'phase': int(a[45]),
                      'part': (a[17])}]
            
            
            d['normal_phases'].append(dict6)
            
 

Комментарии:

1. NB каждый дополнительный диктант находится внутри списка. Поэтому вам следует повторить ключ «normal_phases» и собрать их все, если это необходимо. Можете ли вы поделиться своей попыткой, а также ожидаемым результатом?

2. Спасибо. Вы имеете в виду присвоение всех значений фазы и детали их соответствующему ключу. например: создание только одного словаря с 4 значениями на ключ вместо 4 отдельных словарей?

3. Я не уверен в ожидаемом результате, так как не знаю, какую правильную конструкцию Json будет принимать инструмент для пар «нормальных фаз». Я добавил фрагмент кода для последней пары.

4. Ах, я не уверен, каково конечное требование, но если фазер и часть всегда будут считываться вместе, то да, я имел в виду сохранение всей фазы в виде списка, и поэтому будет соответствующая фаза.