中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

python json多層嵌套取值的方法是什么

小億
477
2023-12-12 19:38:00
欄目: 編程語言

在Python中,要取得JSON數據中多層嵌套的值,可以使用以下方法:

  1. 通過索引或鍵名依次訪問每一層的值,直到達到目標層級。
  2. 使用遞歸函數,遍歷每一層的值,直到找到目標層級。
  3. 使用jsonpath庫,它是一個用于解析JSON數據的庫,可以根據指定的路徑直接獲取目標值。

下面是使用以上方法的示例代碼:

方法一:通過索引或鍵名訪問每一層的值

import json

data = {
    "key1": {
        "key2": {
            "key3": "value"
        }
    }
}

# 通過索引或鍵名依次訪問每一層的值
value = data["key1"]["key2"]["key3"]
print(value)  # 輸出: value

方法二:使用遞歸函數遍歷每一層的值

import json

data = {
    "key1": {
        "key2": {
            "key3": "value"
        }
    }
}

# 遞歸函數遍歷每一層的值
def get_value(obj, target_key):
    if isinstance(obj, dict):
        for key, value in obj.items():
            if key == target_key:
                return value
            else:
                result = get_value(value, target_key)
                if result is not None:
                    return result
    elif isinstance(obj, list):
        for item in obj:
            result = get_value(item, target_key)
            if result is not None:
                return result

value = get_value(data, "key3")
print(value)  # 輸出: value

方法三:使用jsonpath庫獲取目標值

import json
from jsonpath_ng import parse

data = {
    "key1": {
        "key2": {
            "key3": "value"
        }
    }
}

# 使用jsonpath庫獲取目標值
jsonpath_expression = parse("$.key1.key2.key3")
value = [match.value for match in jsonpath_expression.find(data)][0]
print(value)  # 輸出: value

請注意,要使用jsonpath庫,你需要在Python中安裝該庫。可以使用以下命令安裝:

pip install jsonpath-ng

0
湟源县| 平顶山市| 保亭| 巴南区| 囊谦县| 永昌县| 双城市| 高雄市| 广汉市| 高碑店市| 黑水县| 左云县| 罗田县| 文安县| 瑞金市| 青神县| 安西县| 奉新县| 娄底市| 科尔| 山丹县| 宁河县| 曲沃县| 印江| 囊谦县| 周至县| 沅陵县| 株洲市| 阜南县| 鞍山市| 体育| 宣威市| 胶州市| 外汇| 茌平县| 寿阳县| 德庆县| 丘北县| 郧西县| 德昌县| 皮山县|