Python 序列化JSON串
来源:互联网 发布:java trimend 编辑:程序博客网 时间:2024/05/16 01:13
json使用dumps()函数进行序列化,返回的是字符串
import jsondict1 = dict(name='tom',age=20,grade=2)json.dumps(dict1)
结果:
'{"grade": 2, "age": 20, "name": "tom"}'
使用load()或loads()进行反序列化,反序列化得到的字符串都默认是unicode
json_str = '{"grade": 2, "age": 20, "name": "tom"}'json.loads(json_str)
结果:
{u'grade': 2, u'age': 20, u'name': u'tom'}
将一个类的实例化对象进行序列化,在对一个类的实例化对象进行序列化时不能像字符串那样直接进行序列化,需要借助转换函数进行序列化,dumps序列化参数参考地址:参数地址
#-*- coding:utf-8 -*-import jsonclass student(object):"""docstring for student"""def __init__(self,name,age,grade):self.name = nameself.age = ageself.grade = gradedef student_fun(stu):return {'name':stu.name,'age':stu.age,'grade':stu.grade}if __name__ == '__main__':stu = student('test',23,'three')print json.dumps(stu,default=student_fun)先将类的实例化对象转换成dict然后再进行序列化
在进行反序列化的时候也是一样的道理,也需要一个转换函数
#-*- coding:utf-8 -*-import jsonclass student(object):"""docstring for student"""def __init__(self,name,age,grade):self.name = nameself.age = ageself.grade = gradedef student_json(stu):return student(stu['name'],stu['age'],stu['grade'])if __name__ == '__main__':json_str = '{"age":20,"grade":"three","name":"er"}'print (json.loads(json_str,object_hook=student_json))
先把序列化的字符串转换成字典,再将字典转换成类实例对象
pickle的序列化和反序列化
#-*- coding:utf-8 -*-import pickledef write_file(path):fp = open(path,'wb')pickle.dump('fdajdasuiwe',fp)fp.close()def read_file(path):fp = open(path,'rb')context = pickle.load(fp)print contextfp.close()if __name__ == '__main__':write_file('C:\\Users\\Administrator\\Desktop\\testt\\e.txt')read_file('C:\\Users\\Administrator\\Desktop\\testt\\e.txt')
阅读全文
0 0
- Python 序列化JSON串
- Python JSON序列化
- python序列化json
- Python 3.6 Json 序列化
- Python序列化模型数据为JSON
- Python 之 pickle/json序列化
- python基础—文件 | json序列化
- python的序列化和json
- Python-json与pickle数据序列化
- Python基础-Json和序列化
- python序列化模块json和pickle
- Python-序列化model为json
- 【Python】|JSON序列化与反序列化
- python 学习 -- json的序列化和反序列化
- Python Json序列化与反序列化
- python的(json序列化和反序列化)
- python Json的一点收获,自定义序列化方法
- python Json的一点收获,自定义序列化方法
- CentOS之iptables-yellowcong
- **随便写写(1)——欧几里得算法求最小公约数**
- 基于顺序链表的栈的顺序存储的C风格实现
- JS报错RangeError: Invalid string length
- ZooKeeper教程(一)----Centos7下安装ZooKeeper(单机版)
- Python 序列化JSON串
- 河南理工大学校友会举办《“认识上海”大讲堂》第一期讲座
- KMP算法(C++)
- C语言define定义数组和函数指针
- java 集合类
- 页面加载速度优化
- Linux apache下虚拟主机配置
- Python3中的print函数以及与python2的比较
- HTML 2017-07-23