首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Json变量赋值python

Json变量赋值python
EN

Stack Overflow用户
提问于 2020-04-28 21:44:57
回答 2查看 63关注 0票数 0

我正在尝试从rest API将变量赋给以下json:

.json

https://shopify.dev/docs/admin-api/rest/reference/products/product

.py

代码语言:javascript
复制
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:‘标题’

我做了进一步的尝试;

代码语言:javascript
复制
        print(products['product']['title']
        print(product(product).title

以及其他一些没有成功的例子。

任何帮助解析这个json的人都将不胜感激。

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-04-28 22:51:32

您的问题不在于将json数据加载到products变量中。加载后,您试图以不正确的方式从products检索值,这会导致键错误。您的products基本上是一个字典列表的字典

下面是从产品中检索必要值的正确方法:

代码语言:javascript
复制
print(products['products'][0]['id'])
#632910392
print(products['products'][0]['title'])
#IPod Nano - 8GB
print(products['products'][0]['variants'][0]['product_id'])
#632910392

尝试分析products变量的深层结构,这样您就可以学会自己检索其中的任何值。干杯!

票数 1
EN

Stack Overflow用户

发布于 2020-04-28 22:46:13

考虑使用products["products"]访问数组,例如:

代码语言:javascript
复制
import json
result = json.loads('{"products": [ {"id": "1234", "title": "foo"} ]}')
for it in result["products"]:
    print("id: " + it["id"] + " title: " + it["title"])
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61481736

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档