Python中json库的操作指南
作者:A-L-Kun 发布时间:2021-10-11 11:04:43
标签:python,json库
概念
json是一种通用的数据类型
一般情况下接口返回的数据类型都是json
长得像字典,形式也是k-v{ }
其实json是字符串
字符串不能用key、value来取值,所以要先转换为字典才可以
json操作
json转换成字典:
loads方法
import json
res = json.loads(s) # s是json类型的字符串
print(res) # 打印字典
print(type(res)) # 打印res类型
print(res.keys()) # 打印字典的所有key
文件操作
f = open('stus.json',encoding='utf-8')
content = f.read() # 使用loads()方法需要先读文件
user_dic = json.loads(cotent)
print(user_dic)
load方法
import json
f = open('stus.json',encoding="utf-8")
user_dic = json.load(f)
print(user_dic)
区别:
loads() 传的是字符串,而load()传的是文件对象
使用loads()时需要先读取文件在使用,而load()则不用
字典转成json串
文件里只能写字符串,但是可以把字典转成json串,json串是字符串,可以写到文件里
drums方法
stus = {'xiaojun':'123456','xiaohei':'7891','abc':'11111'}
res2 = json.dumps(stus) # 先把字典转成json
print(res2)
print(type(res2))
文件操作
with open('stus.txt','w',encoding='utf-8') as f: # 打开文件
f.write(res2) # 在文件里写入转成的json串
dump()方法
stus={'xiaojun':'123456','xiaohei':'7890','lrx':'111111'}
file = open('stus2.json','w',encoding='utf-8')
json.dump(stus,file,indent,ensure_ascii=False) # 直接写入文件中,ensure_ascii为False时内容输出显示正常的中文,而不是转码
参数:
indent:字符串转行 + 缩进
ensure_ascii:是否转为ASCII码
区别:
dump()不需要使用.write()方法,只需要写那个字典,那个文件即可;而.dumps()需要使用.write()方法写入.如果把字典写到文件里面的时候,dump()好用;但是如果不需要操作文件,或需要把内容存储到数据库何excel,则需要使用dumps()先把字典转换成字符串,再写入
来源:https://blog.csdn.net/qq_62789540/article/details/122482706


猜你喜欢
- JSON Schema是一个用于验证JSON数据结构的强大工具, 我查看并学习了JSON Schema的官方文档, 做了详细的记录, 分享一
- 一、DBMS_REDEFINITION(在线重定义)参考MOS文档:_How To Partition Existing Table Usi
- 前言TensorFlow目前在移动端是无法training的,只能跑已经训练好的模型,但一般的保存方式只有单一保存参数或者graph的,如何
- 安装PandasPandas是构建在Python编程语言之上的一个快速、强大、灵活且易于使用的开源数据分析和操作工具。Pandas是基于Nu
- 最近火热全文的ChatGPT,被很多人玩出了花,我们在Github上可以看到几个常见的逆向SDK包,这一篇我将以学习的方式来写这一篇文章。这
- 目录Counter类创建计数值的访问与缺失的键计数器的更新键的删除elements()most_common([n])fromkeys浅拷贝
- 语法格式:row_number() over(partition by 分组列 order by 排序列 desc)row_num
- 代码问题:控制台和日志的文件的等级设置要放在logger = logging.getLogger('myloger')实例化
- 一、高斯滤波 高斯滤波是一种线性平滑滤波,适用于消除高斯噪声,广泛应用于图像处理的减噪过程。 [1] 通俗的讲,高斯滤波就是对整幅图像进
- 如下所示:matplotlib.pyplot.plot(*args, **kwargs)绘制线条或标记的轴。参数是一个可变长度参数,允许多个
- 在使用python通过open()函数来打开文件的时候,传递绝对路径给open()的时候,发现路径参数的内容与想象中的有所出入:由于wind
- python中.split()只能用指定一个分隔符例如:text='3.14:15'print text.split(
- CacheControl 属性设置是否可缓存由 ASP 生成的输出。默认地,代理服务器不会保持缓存副本。语法:response.CacheC
- 刷票一般要突破以下限制:1、验证码识别2、同一ip不可连续投票解决办法1、用tesseract工具,链接在此 https://code.go
- 我在跑爬虫程序的时候,由于爬虫程序的等待目标服务器返回数据的时间很长,而cpu占用很低,所以经常挂着代理一跑就跑好几百个。但是爬虫程序通常是
- python版本: 3.6pandas版本: 0.23.4行索引索引行有三种方法,分别是 loc iloc iximport pandas
- Python在用GPU跑模型的时候最好开多进程,因为很明显这种任务就是计算密集型的。用进程池好管理,但是tensorflow默认情况会最大占
- 有时会在存储过程中处理一些XML格式的数据,所以会用到sp_xml_preparedocument,他可以将XML数据进行读取,然后使用 M
- 最近在做一个站点时,需要生成静态页面,但是生成的静态页面中有些内容是需要动态获取的,怎不能每天生成一下吧。。 最后上网查了一下,再加上个要总
- 本文实例讲述了Python下载网络文本数据到本地内存的四种实现方法。分享给大家供大家参考,具体如下:import urllib.reques