我正在尝试从rest API将变量赋给以下json:
.json
https://shopify.dev/docs/admin-api/rest/reference/products/product
.py
response = requests.get("https://{0}{1}".format(session.get("shop"), endpoint), headers=headers)
print(response)
#If connection has been successfull ...
if response.status_code == 200:
products = json.loads(response.text)
for product in products:
###PRINT VARIABLES####
print(product['id']
print(product['title'])
print(product['title']['variants']['product_id'])但是,上面的代码会返回以下错误。
KeyError:‘标题’
我做了进一步的尝试;
print(products['product']['title']
print(product(product).title以及其他一些没有成功的例子。
任何帮助解析这个json的人都将不胜感激。
谢谢!
发布于 2020-04-28 22:51:32
您的问题不在于将json数据加载到products变量中。加载后,您试图以不正确的方式从products检索值,这会导致键错误。您的products基本上是一个字典列表的字典
下面是从产品中检索必要值的正确方法:
print(products['products'][0]['id'])
#632910392
print(products['products'][0]['title'])
#IPod Nano - 8GB
print(products['products'][0]['variants'][0]['product_id'])
#632910392尝试分析products变量的深层结构,这样您就可以学会自己检索其中的任何值。干杯!
发布于 2020-04-28 22:46:13
考虑使用products["products"]访问数组,例如:
import json
result = json.loads('{"products": [ {"id": "1234", "title": "foo"} ]}')
for it in result["products"]:
print("id: " + it["id"] + " title: " + it["title"])https://stackoverflow.com/questions/61481736
复制相似问题