Я изо всех сил пытаюсь десериализовать файл входных данных в Python 2.7 и не знал, с чего начать. Я сохранил входной файл как JSON:
{
"Group": {
"Test": {
"test1": {
"x1": 100,
"y1": 150
},
"test2": {
"x1": 23,
"y1": 56,
"x2": 200,
"y2": 234
},
"test3": {
"x1": 123,
"y1": 456,
"x2": 345,
"y2": 986,
"x3": 234,
"y3": 654
},
"test4": {
"x1": 789,
"y1": 987,
"x2": 345,
"y2": 555,
"x3": 111,
"y3": 222,
"x4": 333,
"y4": 444
}
}
}
}
Я пытаюсь вырезать данные, поэтому, если требуется регистр "test1", я могу взять значения x1 и y1 и заполнить поле. Если нужны 3 пары значений x и y, мне нужно получить значения из «test3».
Я пытаюсь заполнить поля в следующей переменной в коде. Он сохраняется в виде словаря, поскольку конечным продуктом является файл JSON. Мне нужно заполнить поля ширины и высоты значениями из файла данных, перечисленных выше. Вот переменная, распечатанная с использованием json.dumps для удобства чтения:
{
"subs": {
"1": {
"video_info": {
"width": x1,
"height": y1
}
},
"2": {
"video_info": {
"width": x2,
"height": y2
}
},
"3": {
"video_info": {
"width": x3,
"height": y3
}
}
}
}
Приведенная выше переменная была собрана воедино путем извлечения данных из разных объектов (каждый словарь под "подпрограммами"), поэтому я не могу написать все это как словарь с нуля. Каждый элемент в «подпрограммах» уже имеет значение ширины и высоты, которое необходимо перезаписать.
Примеры десериализации, которые я видел, у всех были заданные ключи. Любая помощь будет оценена.