如果有人可以幫助我從決議 URL 中只獲取我需要的字串:
import requests
import json
def get_stock(sku):
params = {'ItemId': sku}
base_url = 'http://10.0.0.25/api/GetSku?ItemId='
response = requests.get(base_url, params=params)
json_parsed = json.loads(response.read)
return json_parsed
print(get_stock(101025HRLONDON))
輸出是:
[
{
"ItemId": "101025HRLONDON",
"Site": "12",
"Warehouse": "17",
"availablePhysical": 1.0
},
{
"ItemId": "101025HRLONDON",
"Site": "33",
"Warehouse": "33",
"availablePhysical": 1.0
},
{
"ItemId": "101025HRLONDON",
"Site": "12",
"Warehouse": "34",
"availablePhysical": 1.0
},
{
"ItemId": "101025HRLONDON",
"Site": "77",
"Warehouse": "42",
"availablePhysical": 1.0
}
]
該代碼運行良好,并按 ItemID 回傳所有產品庫存。
但我的問題是如何回傳一個包含以下內容的唯一物件: "Site":"12"
謝謝!
uj5u.com熱心網友回復:
代替:
return json_parsed
經過:
if any(i['Site'] == '12' for i in json_parsed):
return json_parsed
uj5u.com熱心網友回復:
你可以filter使用你想要的鍵來串列。你寫的函式是正確的,你只需要操作回傳的資料。
filtered_stocks = list(filter(lambda x: x['Site']=="12", get_stock("101025HRLONDON"))
print(filtered_stocks)
uj5u.com熱心網友回復:
類似下面的東西
import requests
from typing import List,Dict
def get_stock(sku:str,site_id:str)-> List[Dict]:
base_url = 'http://10.0.0.25/api/GetSku?ItemId='
response = requests.get(base_url, params={'ItemId': sku})
if response.status_code == 200:
return [item for item in response.json() if item['Site'] == site_id]
else:
return None
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/338819.html
上一篇:搜索具有特定值的特定鍵的物件陣列
