使用 Python 解析 JSON 嵌套字典

新手上路,请多包涵

我在 JSON 中有以下嵌套字典。如果我想获得“id”、“self”、“name”,我应该如何使用 Python 程序解析它。

 {
  "items": [
    {
      "id": "12345",
      "links": {
        "self": "https://www.google.com"
      },
      "name": "beast",
      "type": "Device"
    }
  ],
  "links": {
    "self": "https://www.google.com"
  },
  "paging": {
    "count": 1,
    "limit": 1,
    "offset": 0,
    "pages": 1
  }
}

原文由 Software Fan 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.1k
2 个回答

要了解您的 json 是如何设置的,将其分解会更容易。让我们看看第一个字典的键,并删除值。

json = {"items": [], "links": {}}

您有一个包含两个键和两个值的字典。您要查找的所有三个变量(id、self、name)都在第一个键“items”中。因此,让我们深入探讨。

json["items"] = [{'links': {'self': 'https://www.google.com'}, 'name': 'beast', 'type': 'Device', 'id': '12345'}]

现在您有一个包含字典的列表,其中包含您要查找的值,因此让我们输入包含下一个字典的列表的第一个也是唯一一个值。

json["items"][0] = {'links': {'self': 'https://www.google.com'}, 'id': '12345', 'type': 'Device', 'name': 'beast'}

最后,我们有了要查找的值的字典,因此您可以使用此代码查找名称和 ID。

json["items"][0]["name"] = beast

json["items"][0]["id"] = 12345

self 变量隐藏在更深的字典中,因此我们必须深入研究 links 键。

json["items"][0]["links"]["self"] = http://google.com

现在你有了所有的值,你只需要按照所有的列表和字典来获得你想要的值。

原文由 Aeolus 发布,翻译遵循 CC BY-SA 4.0 许可协议

您的 json 基本上包含其中的列表。 Jsons 作为键值对访问,列表使用索引访问。

 json_object['items'][0]['id']

上面的语句应该给你 id。我们正在访问包含列表的关键项目。我们有 [0] 因为这个列表只包含一个元素(这也是一个键值对)。

self 和 name 遵循相同的方法

json_object['links']['self']
json_object['items'][0]['links']['self']
json_object['items'][0]['name']

访问两个不同的“self”之间的区别在于,一个包含在列表中,因此我们需要进入列表,另一个是带有键“self”的字典,它位于字典“links”中

原文由 Harikrishna 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏