zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    拆分跨天的时间数据
    模板
    更换数据库服务器迁移步骤
    缺失索引
    flex布局解说和属性
    Vuejs中关于computed、methods、watch,mounted的区别
    皮囊
    回家
    江苏旅游计划
    重写原生alert,弹出层过一会就消失
  • 原文地址:https://www.cnblogs.com/ifzy/p/13547540.html
Copyright © 2011-2022 走看看