分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 软件开发

json —— pickle 的序列化和反序列化

发布时间:2023-09-06 02:07责任编辑:林大明关键词:jsjson

前言json的序列化和反序列化

 1, json 只能序列化简单的数据类型,如,列表,字典,字符串,等简单的类型,不能序列化复杂的类型。

 2, json 是支持所有的语言的,多以我们跨语言的时候都是用json,(和其他语言交互)

json 序列化

json的序列化

json.dumps()

import json
info = {
???‘zhang‘:‘123‘,
???‘qing‘:‘456‘
}
f = open(‘json_wenjian‘,‘w‘,encoding=‘utf-8‘)
f.write(json.dumps(info))
 

json的反序列化

json.loads()

import jsonf = open(‘json_wenjian‘,‘r‘,encoding=‘utf-8‘)data = json.loads(f.read())print(data)

json小结

  loads ------dumps  和 load-------dump   是成对出现的。

  方式只有点一不一样。 

前言pickle的序列化

  pickle可以序列化python中所有的数据类型,包括函数、类等,下面我们就来看看,如何序列化函数的。还有就是,pickle序列化的是字节,而json序列化的是字符,这个要注意一下

pickle的序列化和反序列化

 序列化

import pickledef fun(): ???print(‘hello,world‘)info = { ???‘zhang‘:123, ???‘qing‘:456, ???‘yao‘:fun}with open(‘pickle_wenjian‘,‘wb‘) as f: ???data = pickle.dumps(info) ???f.write(data)

反序列化

import pickledef fun(): ???print(‘hello,world‘)with open(‘pickle_wenjian‘,‘rb‘) as f: ???data = pickle.loads(f.read())print(data)

小结:

  1. son值支持简单的数据类型,pickle支持所有的数据类型。
  2. pickle只能支持python本身的序列化和反序列化,不能用作和其他语言做数据交互,而json可以。
  3. pickle序列化的是整个的数据对象,所以反序列化函数时,函数体中的逻辑变了,是跟着心的函数体走的。
  4. pickle和json在3.0中只能dump一次和load一次,在2.7里面可以dump多次,load多次,anyway,以后只记住,只需要dump一次,load一次就可以了。

  

json —— pickle 的序列化和反序列化

原文地址:https://www.cnblogs.com/littlesky1124/p/9463049.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved