python json模块详解

做数据交换的很多,唯独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太定制化了所以不建议使用。

你可能感兴趣的:(python基础,json,python)