首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否有一种方法可以根据Python请求在Python字典中生成一个列表?

是否有一种方法可以根据Python请求在Python字典中生成一个列表?
EN

Stack Overflow用户
提问于 2022-09-03 20:50:48
回答 1查看 36关注 0票数 0

我正在使用Python请求库从API中获取一些数据。但是,在输出字典中,我想要一个列表。我希望在data_providers键中有一个列表,其中nameurlapi_url的第一个条目将被硬编码,第二个条目将从响应中获得。目前,我得到了错误TypeError: unhashable type: 'dict',我的代码如下所示

代码语言:javascript
复制
output_dict = {
    'data_providers' : {
        {
                    'name': 'NBN Atlas',
                    'url': 'https://registry.nbnatlas.org/datasets',
                    'api_url': 'https://registry.nbnatlas.org/ws/dataResource',
        },
        {
                    'name': owner_name,
                    'url': owner_url,
                    'api_url': owner_api_url,
        },
    }

}

在运行代码并将其转储到JSON文件后,我想要的响应应该如下所示:

代码语言:javascript
复制
[
  {
    "data_providers": [
      {
        "name": "NBN Atlas",
        "url": "https://registry.nbnatlas.org/datasets",
        "api_url": "https://registry.nbnatlas.org/ws/dataResource"
      },
      {
        "name": "Marine Biological Association",
        "url": "https://registry.nbnatlas.org/public/show/dp80",
        "api_url": "https://registry.nbnatlas.org/ws/dataProvider/dp80"
      }
    ]
  }
]

有什么办法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-09-03 20:57:26

如果我正确理解了您的问题,您希望修复unhashable type错误并显示有效的JSON。如果是这样,您可以通过将data_providers字典更改为列表来更正错误,因为它包含多个嵌套字典。

代码语言:javascript
复制
output_dict = {
    'data_providers': [
        {
                    'name': 'NBN Atlas',
                    'url': 'https://registry.nbnatlas.org/datasets',
                    'api_url': 'https://registry.nbnatlas.org/ws/dataResource'
        },
        {
                    'name': owner_name,
                    'url': owner_url,
                    'api_url': owner_api_url
        }
    ]
}

现在可以使用类似于print(json.dumps(output_dict))的语句将结果显示为JSON。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73595329

复制
相关文章

相似问题

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