python распарсить json с ozon
Всем привет. Есть json, который получаю с ozon. Мне нужно получить остатки на складах. Этот json находится в HTML страницы корзины. (нужно добавить товар в корзину и перейти в нее). Других способов найти эти данные видимо нет. Ну уж очень какой то сложный, как я над ним и он надо мной уже не издевался, не могу распарсить. Вот, на чем остановился:
tracking_payloads = text.find('trackingPayloads')
s = text[tracking_payloads:].replace('trackingPayloads":', '').\
replace('\\n', '').\
replace('\\\\"', "'").\
replace('\\"', '\\\\"')
print(s)
Но в некоторых местах появляются лишние закрывающие фигурные скобки. Нужно какое то может универсальное решение, так как озон часто меняет содержимое. Помогите, пожалуйста, отблагодарю. Сам json: https://pastebin.com/EiXE4mT2 Нужно получить это:
{'type':'group','title':'Доставка Ozon','department':'ozon','isAvailable':true,'objects':[{'type':'delivery','deliveryType':'pickup','minOrderAmount':0,'minOrderAmountLack':0}],'items':[{'sku':539033151,'finalPrice':2256,'originalPrice':2256,'quantity':1,'maxQuantity':6,'checked':true,'bundleId':'','unavailableReason':'UnavailableReason_None','storehouseId':220579,'availableDeliverySchema':[221],'selectedDeliverySchema':221,'isServicesAvailable':false,'isFastDelivery':false,'multiplicity':0,'marketplaceId':1},{'sku':176331186,'finalPrice':799,'originalPrice':1390,'quantity':1,'maxQuantity':10,'checked':true,'bundleId':'','unavailableReason':'UnavailableReason_None','storehouseId':660,'availableDeliverySchema':[131,111],'selectedDeliverySchema':111,'isServicesAvailable':false,'isFastDelivery':true,'multiplicity':0,'marketplaceId':1}]}
Ну и оттуда вытащить параметр maxQuantity.
Ответы (1 шт):
Можно примерно так
import json
j1 = json.loads(text)
for text2 in j1['state']['trackingPayloads'].values():
j2=json.loads(text2)
if 'items' in j2:
for item in j2['items']:
if 'maxQuantity' in item:
print(item['maxQuantity'])
З.Ы. "Помогите, пожалуйста, отблагодарю." : "Моя благодарность не будет иметь границ, в разумных пределах" :)