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))  

運行結果:

<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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM