json 模块

相比于eval json 可以解析字符串中的null之类 Python中没有定义的类型,可以跨平台

json

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

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

json.dumps 序列化数据类型

1 import json
2 user = {
3     'name':'zhangsan',
4     'age':18
5 }
6 res = json.dumps(user)
7 print (res,type(res))
8 {"name": "zhangsan", "age": 18} <class 'str'>

 


json.loads 反序列化字符串

1 with open('a.txt','r') as f:
2     res = json.loads(f.read())
3     print(res,type(res))
4 {'age': 18, 'name': 'zhangsan'} <class 'dict'>

 

 

相对简便 序列化数据类型

json.dump

1 import json
2 user = {
3     'name':'zhangsan',
4     'age':18
5 }
6 res = json.dumps(user)
7 json.dump(res,open('a.test','w'))

 

 

反序列化

josn.load

1 import json
2 res = json.load(open(r'E:\python\day1\day5\a.test','r'))
3 print (res,type(res))
4 {"age": 18, "name": "zhangsan"} <class 'str'>

 

posted @ 2017-06-07 16:36  冯公子  阅读(80)  评论(0)    收藏  举报