文件6:json模块-JSON文件编码和解码器

JSON是一种轻量级的数据交换格式,受到JavaScript对象语法的启发。Python的json模块提供与marshal和pickle类似的API,但更便携。该模块不支持Python的所有数据类型,如range和复数,元组会转成列表。与pickle不同,json处理文件时无需二进制模式,常用扩展名是.json。

JSON(JavaScript 对象表示法)由 RFC 7159(已废弃 RFC 4627)和 ECMA-404 指定,是一种受 JavaScript 对象文字语法启发的轻量级数据交换格式(尽管它不是 JavaScript 1 的严格子集)。

json 函数模块提供了与标准库 marshal 和 pickle 相似的API接口,但具有更好的可移植性;

json 函数模块不支持 Python 中range、复数等多种 Python 数据类型,元组类型直接转换为列表;

json 函数模块的各个函数使用方法类似 pickle 函数模块,参见《pickle函数模块:Python 对象序列化 》;

不同于 pickle 函数模块,json 函数模块无需使用二进制模式,文件后缀名为 .json。


import json

# w+ 模式打开文件f
f = open(r'D:\PycharmProject\测试文件\test.json','w+')

#准备多种Python类型数据
list1 = [1,'23',[4,5]]
dic1 = {'a':1234,'中文':(5,6,7)}
int1 = 0
float1 = 3.14

#通过 json.dump() 函数存储多种 Python 类型数据到 .json 文件,并关闭文件
json.dump((list1,dic1,int1,float1),f)
f.close()

# r+ 模式打开文件f
f = open(r'D:\PycharmProject\测试文件\test.json','r+')

#通过 json.load() 函数读取.json文件
json.load(f)
[[1, '23', [4, 5]], {'a': 1234, '中文': [5, 6, 7]}, 0, 3.14]
f.seek(0)
0
f.read()
'[[1, "23", [4, 5]], {"a": 1234, "\\u4e2d\\u6587": [5, 6, 7]}, 0, 3.14]'

#通过 json.dumps()、json.loads() 直接对 Python 对象做处
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

燃烧的火鸟啊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值