python中json.loads 返回类型是str 而不是 dict

摘要:
解析本地文件中的json文件时,返回类型为json。loads是str。直接代码是importjsonwithopen(“urlJson.txt”,'r',encoding='utf-8')asf:data=f。read()Json_Str=Json。dumps(data)print(type(json_str))#print(“Python原始数据:”,repr(data))#print

  

解析本地文件中的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

免责声明:文章转载自《python中json.loads 返回类型是str 而不是 dict》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇HP11.31安装11.2.0.3实施手册HTML自定义标签与标签自定义属性下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

YAML书写规则与数据结构

YAML 是一种简洁的非标记语言。YAML以数据为中心,使用空白,缩进,分行组织数据,从而使得表示更加简洁易读。 基本规则 YAML有以下基本规则:1、大小写敏感2、使用缩进表示层级关系3、禁止使用tab缩进,只能使用空格键4、缩进长度没有限制,只要元素对齐就表示这些元素属于一个层级。5、使用#表示注释6、字符串可以不用引号标注 三种数据结构 1、ma...

[hadoop&amp;amp;spark]在hadoop集群上定制python环境

1、首先,在linux服务器上准备好需要的python环境(个人文件夹下只支持500m): conda create -y -n pyspark_env -c conda-forge conda-pack python=3.6 conda activate pyspark_env pip install -i https://mirrors.aliyun....

Python 练习题

python 练习题 day1 1.简述变量命名规范 7条: 1.由字母,数字和下划线组成 2.name = input(“>>>”) name变量是什么数据类型通过代码检测 type 3.if条件语句的基本结构? if 条件 : print() 4.用print打印出下面内容: ⽂能提笔安天下,武能上⻢定乾坤.⼼存谋略何⼈胜,...

如何利用 Python 爬虫实现给微信群发新闻早报?(详细)

1. 场景 经常有小伙伴在交流群问我,每天的早报新闻是怎么获取的? 其实,早期使用的方案,是利用爬虫获取到一些新闻网站的标题,然后做了一些简单的数据清洗,最后利用 itchat 发送到指定的社群中。 由于爬虫面对 网站改版的不稳定性及 itchat 不安全性,所以放弃了这种方案 后期更改了一种方案,通过修改爬虫方案,创建 API 服务,编写 App 去获...

js 调用微信浏览器内置方法,启动支付

$.post("{php echo app_url('pay/cash')}",{orderno:orderno,paytype:paytype},function(m){ //todo: 跳转到微信支付,获取支付的相关信息 if(!m.errno){...

Python中调用Linux命令并获取返回值

方法一、使用os模块的system方法:os.system(cmd),其返回值是shell指令运行后返回的状态码,int类型,0表示shell指令成功执行,256/512表示未找到,该方法适用于shell命令不需要输出内容的场景。 os.system(cmd)会启动子进程,在子进程中执行cmd,如果cmd有执行内容,会在标准输出显示。 举例说明: 1. 列...