解析本地文件中的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))
運行結果:
<class 'str'> <class 'str'> 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))
執行結果:
<class 'str'>
<class 'str'>
<class 'dict'>
Process finished with exit code 0
參考:
https://bbs.csdn.net/topics/392468521