您的位置:首页 > 编程语言 > Python开发

python Json

2015-12-25 16:50 585 查看

JSON

如果我们要在不同的编程语言之间传递对象,就必须把对象序列化为标准格式,比如XML,但更好的方法是序列化为JSON,因为JSON表示出来就是一个字符串,可以被所有语言读取,也可以方便地存储到磁盘或者通过网络传输。JSON不仅是标准格式,并且比XML更快,而且可以直接在Web页面中读取,非常方便。

JSON表示的对象就是标准的JavaScript语言的对象,JSON和Python内置的数据类型对应如下:

JSON类型Python类型
{}dict
[]list
"string"'str'或u'unicode'
1234.56int或float
true/falseTrue/False
nullNone
Python内置的
json
模块提供了非常完善的Python对象到JSON格式的转换。我们先看看如何把Python对象变成一个JSON
import json

d = dict(name = 'chenguang', age = 23, score = 87)

json.dumps(d)

'{"age": 23, "score": 87, "name": "chenguang"}'

dumps()
方法返回一个
str
,内容就是标准的JSON。类似的,
dump()
方法可以直接把JSON写入一个
file-like Object


要把JSON反序列化为Python对象,用
loads()
或者对应的
load()
方法,前者把JSON的字符串反序列化,后者从
file-like Object
中读取字符串并反序列化:

json_str = '{"age": 23, "score": 87, "name": "chenguang"}'

json.loads(json_str)

{u'age': 23, u'score': 87, u'name': u'chenguang'}

有一点需要注意,就是反序列化得到的所有字符串对象默认都是
unicode
而不是
str
。由于JSON标准规定JSON编码是UTF-8,所以我们总是能正确地在Python的
str
unicode
与JSON的字符串之间转换。

未完待续。。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: