python对json的操作总结(一)
json
概念:json是一种轻量级数据交换格式。
如果我们要在不同的编程语言之间传递对象,就必须把对象序列化为标准格式,比如XML,但更好的方法是序列化为JSON,因为JSON表示出来就是一个字符串,可以被所有语言读取,也可以方便地存储到磁盘或者通过网络传输。JSON不仅是标准格式,并且比XML更快,而且可以直接在Web页面中读取,非常方便。
格式:一个无序的‘名称’/‘值’集合。{名称1/值,名称2/值……}。
说明:你可能会想起这种格式在哪见过,没错。在python中字典也有着类似的可以key:value结构。但是不能混为一谈。
- JSON 的 key 只能是字符串,Python 的 dict 可以是任何可 hash 对象
- JSON 的 key 可以是有序的
- JSON 的 key 可以重复
- JSON 的值只能是字符串、浮点数、布尔值或者 null,或者它们所构成的数组或者对象。
编码--序列化:
- dumps:把数据类型转换成字符串
- dump:把数据类型转换成字符串并存储在文件中
解码--反序列化:
- loads:把字符串转换成数据类型
- load:把文件打开从数据类型转换成字符串
说明:在程序运行的过程中,所有的变量都是在内存中。一旦程序结束,变量也会消失。
所以,我们把变量从内存中变成可存储或传输的过程称为序列化。反过来,把变量内容从序列化的对象重新读到内存里称之为反序列化。
1、dumps:将字典转为字符串
In []: d=dict(name='xjm') In []: a=json.dumps(d) In []: a Out[]: '{"name": "xjm"}' In []: type(a) Out[]: str
2、dump:写入json文件中
In [105]: with open('Desktop/j.txt','w') as f: ...: a=json.dump(d,f) ...: print('文件写入完成……') ...: 文件写入完成……
3、loads:读取json文件
In [114]: d=json.loads(a) In [115]: d Out[115]: {'name': 'xjm'}
4、load:在文件中读取json文件
In [120]: with open('j.txt','rb') as f: ...: a=json.load(f) ...: In [121]: a Out[121]: {'name': 'xjm'}
相关推荐
YENCSDN 2020-11-17
lsjweiyi 2020-11-17
houmenghu 2020-11-17
Erick 2020-11-17
HeyShHeyou 2020-11-17
以梦为马不负韶华 2020-10-20
lhtzbj 2020-11-17
夜斗不是神 2020-11-17
pythonjw 2020-11-17
dingwun 2020-11-16
lhxxhl 2020-11-16
坚持是一种品质 2020-11-16
染血白衣 2020-11-16
huavhuahua 2020-11-20
meylovezn 2020-11-20
逍遥友 2020-11-20
weiiron 2020-11-16