python json模块详解

本文介绍了JSON作为数据交换格式的重要性,探讨了如何使用Python中的json模块进行数据的序列化与反序列化操作,包括dumps、loads、dump和load等方法,并解释了它们之间的区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

做数据交换的很多,唯独json很重要,json就像一个桥梁,实现不同语言之前的数据交换。eval 函数,类存不了。

import json
dic={'name':'alex'}
data=json.dumps(dic)
print data
print (type(data))

输出的内容

{"name": "alex"}
<type 'str'>

json 内部会把所有的双引号和单引号 全部变成双引号。(json只认双引 )
数据的还原:

dic='{"name":"alex"}'
f=open("hello","w")
f.write(dic)
f_read=open("hello","r")
data=json.loads(f_read.read())
print data
print type(data)     #{u'name': u'alex'}            <type 'dict'>

loads 将数据还原为字典类型
如果我们要在不同的语言之前传递对象,就必须吧对象序列化为标准格式,比如XML,但更好的方法是序列化为JSON,因为JSON表示出来就是一个字符串,可以被所有语言读取,也可以方便地存储到磁盘或者通过网络传输。JSON不仅是标准格式,并且比XML更快,而且可以直接在Web页面中读取,非常方便。
JSON表示的对象就是标准的JavaScript语言的对象,
dump 和dumps的区别是啥?没有任何区别
load 和loads的区别是啥?没有任何区别

f=open("hello","w")
data=json.dumps(dic)
f.write(dic)
等价于
json.dump(dic,f)

dump直接将数据处理 存储到文件,所以dump只用来处理文件的时候
同理:load也是一样的.少了read的操作。
因为load,dump太定制化了所以不建议使用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值