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'>

浙公网安备 33010602011771号