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

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何使用python解析json文件

發布時間:2022-06-02 15:51:48 來源:億速云 閱讀:312 作者:iii 欄目:大數據

本篇內容介紹了“如何使用python解析json文件”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

1.json說明

json就是一種長得像嵌套字典的字符串。數據被“{}”和“[]”層層包裹,需要“拆包”才能拿到我們需要的數據。

兩種結構:

(1)“名稱/值”對的集合(A collection of name/value pairs)。不同的編程語言中,它被理解為對象(object),紀錄(record),結構(struct),字典(dictionary),哈希表(hash table),有鍵列表(keyed list),或者關聯數組 (associative array)。

(2)值的有序列表(An ordered list of values)。在大部分語言中,它被實現為數組(array),矢量(vector),列表(list),序列(sequence)。

2.解析思路

(1)新建兩個函數A和B。

(2)函數 A處理字典數據,被調用后,判斷傳遞的參數,如果參數為字典,則調用自身;

(3)如果是列表或者元組,則調用列表處理函數B;

(4)函數 B處理列表,被調用后,判斷傳遞的參數,如果參數為列表或者元組,則調用自身;

(5)如果是字典,則調用字典處理函數A。

3.實例

代碼中的get_target_value函數為A函數,_get_value為B函數。

# 處理嵌套json文件中指定關鍵字
# 處理字典值
def get_target_value(key, dic, tmp_list):
    """
    :param key: 目標key值
    :param dic: JSON數據
    :param tmp_list: 用于存儲獲取的數據
    :return: list
    """
    if not isinstance(dic, dict) or not isinstance(tmp_list, list):  # 對傳入數據進行格式校驗
        return 'argv[1] not an dict or argv[-1] not an list '
 
    if key in dic.keys():
        tmp_list.append(dic[key])  # 傳入數據存在則存入tmp_list
 
    for value in dic.values():  # 傳入數據不符合則對其value值進行遍歷
        if isinstance(value, dict):
            get_target_value(key, value, tmp_list)  # 傳入數據的value值是字典,則直接調用自身
        elif isinstance(value, (list, tuple)):
            _get_value(key, value, tmp_list)  # 傳入數據的value值是列表或者元組,則調用_get_value
    return tmp_list
 
 
# 處理元組或列表值
def _get_value(key, val, tmp_list):
    for val_ in val:
        if isinstance(val_, dict):
            get_target_value(key, val_, tmp_list)  # 傳入數據的value值是字典,則調用get_target_value
        elif isinstance(val_, (list, tuple)):
            _get_value(key, val_, tmp_list)

“如何使用python解析json文件”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

会宁县| 微山县| 龙江县| 灌阳县| 横峰县| 佳木斯市| 二连浩特市| 岱山县| 永胜县| 博爱县| 肃宁县| 来安县| 焉耆| 金堂县| 皮山县| 冷水江市| 怀安县| 新安县| 鸡东县| 蚌埠市| 淮阳县| 贺兰县| 江都市| 蒙城县| 焦作市| 昭平县| 西城区| 连州市| 东阿县| 弥勒县| 林周县| 德安县| 牙克石市| 维西| 项城市| 山东省| 聂拉木县| 拜泉县| 左贡县| 咸丰县| 衡水市|