首先有一個.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