91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

如何使用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

建平县| 平顺县| 江西省| 营口市| 蒙阴县| 迁西县| 罗城| 襄城县| 永济市| 德惠市| 分宜县| 大港区| 许昌县| 门源| 若尔盖县| 大埔区| 新野县| 麦盖提县| 古浪县| 左贡县| 文山县| 英德市| 三明市| 安西县| 虎林市| 泗水县| 横山县| 深水埗区| 武夷山市| 西吉县| 安宁市| 门源| 抚顺市| 尖扎县| 黑水县| 永年县| 凌海市| 武乡县| 台湾省| 柳河县| 普宁市|