python json模塊list轉dict

首先有一個.json文件,但我讀取後顯示的是list類型

def readJsonText(path):
    with open(path,'r',encoding='utf-8') as f:
        textJson = f.readlines()
    f.close()
    #最初讀取的類型
    print(type(textJson))
    #使用json.dumps()函數後的類型
    textJson = json.dumps(textJson)
    print(type(textJson))
    #使用json.loads()函數後的類型
    textJson = json.loads(textJson)
    print(type(textJson))
    #使用dict()函數後的類型
    textJson = dict(textJson)
    print(type(textJson))

可以看到:

list -> str :yes  

str ->list : yes

list -> dict :no (報錯)

如果我想將list->dict怎麼辦呢?

def readJsonText(path):
    with open(path,'r',encoding='utf-8') as f:
        textJson = f.readlines()
    f.close()
    #最初讀取的類型
    print(type(textJson))
    #使用json.loads()函數後的類型
    textJson = json.loads(textJson[0])
    print(type(textJson))
    #使用dict()函數後的類型
    textJson = dict(textJson)
    print(type(textJson))

這樣從list類型變成了dict類型,但是是怎麼變的呢?

原因:我們將list類型的textJson取了第0號位置,就變成了str類型,但這個str類型很特殊,是json類型,然後json類型就可以通過json.loads()函數轉爲dict類型了

所以通過上面我們可以發現:

如果一個json類型的文本是被 [ ]  給包裹上變成了list類型,那麼我們可以去這個 [ ] 使它變成真正的json類型,然後就可以用json.loads()函數了

list -> dict : no

json -> dict : yes

list -> str : yes

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章