首頁  >  文章  >  後端開發  >  如何在Python中高效率地從深度嵌套的JSON結構中提取值?

如何在Python中高效率地從深度嵌套的JSON結構中提取值?

Susan Sarandon
Susan Sarandon原創
2024-10-31 07:37:30427瀏覽

How to Efficiently Extract Values from Deeply Nested JSON Structures in Python?

從 JSON 結構檢索巢狀資料

解析複雜的 JSON 資料時,從深層嵌套結構中提取特定值可能具有挑戰性。本文概述瞭如何使用 Python 的字典和列表索引語法有效地導航嵌套數據,從而提供了此問題的解決方案。

瞭解資料結構

考慮以下範例JSON 資料:

<code class="python">my_json = {
    "name": "ns1:timeSeriesResponseType",
    "value": {
        "queryInfo": {
            "creationTime": 1349724919000,
            # ... other data
        }
    }
}</code>

擷取特定值

要存取「creationTime」值,請使用下列語法:

<code class="python">query_info = my_json["value"]["queryInfo"]
creation_time = query_info["creationTime"]</code>

分解:

  • my_json["value"] 存取外部字典中「value」鍵的值(解析的JSON 資料本身)。
  • query_info["creationTime"] 存取外部字典中「creationTime」鍵的值「queryInfo」字典(從 my_json["value"] 取得)。

因此,creation_time 的值為 1349724919000。

概括提取代碼

對於具有可變嵌套級別的嵌套數據,您可以使用更通用的方法:

<code class="python">def get_nested_value(data, key_path):
    keys = key_path.split(".")
    value = data
    for key in keys:
        value = value[key]
    return value</code>

用法:

<code class="python">creation_time = get_nested_value(my_json, "value.queryInfo.creationTime")</code>

此函數採用資料字典和鍵路徑(例如,「value.queryInfo.creationTime」)並迭代存取巢狀值,直到獲得所需的值。

以上是如何在Python中高效率地從深度嵌套的JSON結構中提取值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn