天天看點

python中json.loads_python中json.loads 傳回類型是str 而不是 dict

解析本地檔案中的Json檔案時,json.loads 之後的傳回類型是str ,直接上代碼

import json

with open ("urlJson.txt",'r',encoding='utf-8') as f:

data = f.read()

json_str = json.dumps(data)

print (type(json_str))

#print("Python 原始資料:", repr(data))

#print("JSON 對象:", json_str)

params_json = json.loads(json_str)

#print (params_json)

print (type(params_json))

運作結果:

Process finished with exit code 0

對此很困惑,看到很奇怪,網上到處都是提示loads 傳回的是dict對象。

解決方案:

再loads一次就好了

import json

with open ("urlJson.txt",'r',encoding='utf-8') as f:

data = f.read()

json_str = json.dumps(data)

print (type(json_str))

#print("Python 原始資料:", repr(data))

#print("JSON 對象:", json_str)

params_json = json.loads(json_str)

#print (params_json)

print (type(params_json))

# 再次loads 下

params_json = json.loads(params_json)

print (type(params_json))

執行結果:

Process finished with exit code 0

參考: