В качестве очень простого примера, скажем, у меня есть 1 запрос API в формате JSON, который содержит следующие ключи для точки выборки данных, назовем его g [0], где g - это просто переменная, назначенная для запроса на получение. ответ, который был выполнен ранее в коде и проанализирован до объекта json с сотнями индексов:
{ "UnitID":"93439472", "Usage":30 }
И еще один запрос API в формате JSON имеет демографическую информацию c со следующими ключами и точкой данных образца, те же условия, что и объект JSON выше, однако мы можем назвать его f [3] (это исключительно для иллюстрации того факта, что индекс с UnitID = 93439472 может быть не таким же для обоих JSON объектов, даже с сортировкой по ключу UnitID):
{ "UnitID":"93439472", "PropertyName":"My Apartment Complex", "BuildingName":"Building 1", "ApartmentUnitName" = "Unit 101" }
Можно ли построить строку JSON, содержащую ApartmentUnitName, PropertyName, BuildingName и Usage, путем ссылки на ApartmentUnitID, как если бы вы использовали соединение SQL? В идеале вы получите конечный результат:
{ "UnitID":"93439472", "PropertyName":"My Apartment Complex", "BuildingName":"Building 1", "ApartmentUnitName" = "Unit 101", "Usage":"30" }
Обратите внимание, что существует несколько записей, и я не могу просто объединить g [0] и f [ 0], поэтому я указал выше, что вторая JSON запись, которую я указал, - это f [3], а не f [0].
Моей первой мыслью было бы итеративное l oop, которое будет объединять оба объекта JSON, если g.UnitID == f.UnitID. Есть ли какие-нибудь python библиотеки / модули, в которых есть функции, которые могут мне помочь? Или итеративный l oop самый элегантный способ подойти к этому? Не уверен, сколько времени будет на этом для тонны единиц для большего свойства, или как будет выглядеть синтаксис при слиянии, поскольку для этого потребуется целое число i для JSON объекта g и целое число j для JSON объекта f . Я думаю, что начал бы с f [j = 0], а затем l oop через все индексы i в g, пока не будет найдено совпадение, а затем перейду к следующему j в f и сбросил i в 0. Если он не найден, Я бы либо назначил Usage = Null, либо Usage = 0 и перешел к следующему j и сбросил i до 0.