首页 > Web开发 > 详细

json

时间:2017-01-07 19:13:00      阅读:187      评论:0      收藏:0      [点我收藏+]


#json序列化,只能处理简单的数据类型,如:字典、列表、字符串,类和函数等数据类型过于复杂,不支持序列化
import json

def sayhi(name):
print(‘hello,‘, name)

info = {
‘name‘: ‘whitesky‘,
‘age‘: 25,
‘func‘: sayhi
}

f = open(‘test.txt‘, ‘w‘)
# f.write(str(info))
f.write(json.dumps(info))
f.close()

#json反序列化

f = open(‘test.txt‘, ‘r‘)
data = json.loads(f.read())
print(data[‘func‘])


#处理复杂数据类型(函数等)的方法:pickle(只支持python,不支持Java(支持json))
import pickle

def sayhi(name):
print(‘hello,‘, name)
info = {
‘name‘: ‘whitesky‘,
‘age‘: 25,
‘func‘: sayhi
}

f = open(‘test.txt‘, ‘wb‘) #pickle序列化要带b
f.write(pickle.dumps(info)) #相当于 pickle._dump(info,f)



#pickle反序列化

f = open(‘test.txt‘, ‘rb‘)
data = pickle.loads(f.read()) # 相当于 pickle.load(f)

print(data[‘func‘])



f.close()


#注意:写程序序列化时要记住只dump一次,只load一次(py3中dump多次,再load时会出错,py2中正常),如果需要存储多个状态,就dump成多个文件

json

原文:http://www.cnblogs.com/yum777/p/6259910.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!