前言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 json
f = 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 pickle

def 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 pickle

def 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 的序列化和反序列化的更多相关文章

  1. Python-Day4 Python基础进阶之生成器/迭代器/装饰器/Json & pickle 数据序列化

    一.生成器 通过列表生成式,我们可以直接创建一个列表.但是,受到内存限制,列表容量肯定是有限的.而且,创建一个包含100万个元素的列表,不仅占用很大的存储空间,如果我们仅仅需要访问前面几个元素,那后面 ...

  2. .net MVC 使用 JSON JavaScriptSerializer 进行序列化或反序列化时出错,字符串的长度超过了为 maxJsonLength 属性设置的值

    在.net mvc的controller中,方法返回JsonResult,一般我们这么写: [HttpPost] public JsonResult QueryFeature(string url, ...

  3. 使用JSON JavaScriptSerializer 进行序列化或反序列化时出错。字符串的长度超过了为 maxJsonLength属性

    "/"应用程序中的服务器错误.使用 JSON JavaScriptSerializer 进行序列化或反序列化时出错.字符串的长度超过了为 maxJsonLength 属性设置的值. ...

  4. python基础6之迭代器&生成器、json&pickle数据序列化

    内容概要: 一.生成器 二.迭代器 三.json&pickle数据序列化 一.生成器generator 在学习生成器之前我们先了解下列表生成式,现在生产一个这样的列表[0,2,4,6,8,10 ...

  5. 对 JSON 数据进行序列化和反序列化

    如何:对 JSON 数据进行序列化和反序列化 2017/03/30 作者 JSON(JavaScript 对象符号)是一种高效的数据编码格式,可用于在客户端浏览器和支持 AJAX 的 Web 服务之间 ...

  6. 使用 JSON JavaScriptSerializer 进行序列化或反序列化时出错

    如题 报错提示: 使用 JSON JavaScriptSerializer 进行序列化或反序列化时出错.字符串的长度超过了为 maxJsonLength 属性设置的值.","Sta ...

  7. 利用JavaScriptSerializer类 进行Json对象的序列化和反序列化和过滤

    项目下载:JavaScriptSerializer_对JSON对象序列化与反序列化及过滤器 利用<JavascriptSerializer类> 进行Json对象的序列化和反序列化 1. 首 ...

  8. ng json格式的序列化和反序列化

    ng中自带方法 angular.toJson 序列化angular.fromJson 反序列化 结果: 代码: <!DOCTYPE html> <html ng-app=" ...

  9. MVC JSON JavaScriptSerializer 进行序列化或反序列化时出错

    MVC control中返回json格式数据一般都是如下格式 [HttpPost] public ActionResult CaseAudit(string name) { var data =&qu ...

随机推荐

  1. MySQL性能优化最佳实践20条

    今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显.关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我们程序员需要去关注的事情.当我们去设计数据库表结构,对操作数据 ...

  2. vmware安装centos7.5、配置网卡、环境配置

    1.vmware安装centos7.5虚拟机    参考连接: https://blog.csdn.net/guo_ridgepole/article/details/78973763 可能遇到的问题 ...

  3. react Link标签 火狐失效怎么解决

    这个问题其实找了好多资料都没有具体的解决方法: 今天突然想到可能是层级嵌套出问题了,刚好有个bug也是关于这个的,已经亲测解决了 代码如下:火狐和谷歌都能正常的跳转 <Link to=" ...

  4. 《CNCF × Alibaba云原生技术公开课》知识点自测(一):第一堂“云原生”课

    (单选)1.容器启动后,我会时常 SSH 进入到容器里然后写很多文件.请问这破坏了云原生理念了吗? A. 否   B. 是 (单选)2.云原生架构必须选型 Kubernetes 方案. A. 否  B ...

  5. 配置Linux描述网络安全CIA模型之可用性案例

    在Linux中防御SYN型DOS攻击的方法比较常见的有: 1.增大队列SYN最大半链接数 2.利用SYN cookie技术   下面分别进行分析. 1.增大队列SYN最大半连接数 在LINUX中执行命 ...

  6. 【实验】ssh私钥泄露

    翻自己的笔记看到之前做过的一个实验,一个关于ssh私钥泄露的实验,贴出来与大家交流. 做这种题脑洞需要特别大,而且也需要运气. 1.实验环境准备 2.实验流程 1)探测信息 用namp进行端口扫描,扫 ...

  7. 最新 拉卡拉java校招面经 (含整理过的面试题大全)

    从6月到10月,经过4个月努力和坚持,自己有幸拿到了网易雷火.京东.去哪儿.拉卡拉等10家互联网公司的校招Offer,因为某些自身原因最终选择了拉卡拉.6.7月主要是做系统复习.项目复盘.LeetCo ...

  8. FromServices回来

    FromServices回来 起因 这两天,我忽然有点怀念 Asp.NET MVC 5 之前的时代,原因是我看到项目里面有这么一段代码(其实不止一段,几乎每个 Controller 都是) [Rout ...

  9. uwp,c#,全屏播放保持屏幕响应

    在开发视频app的时候,全屏播放一段时间内没有电脑操作,电脑会自动进入睡眠模式,这时就要多写些代码来保持响应了. (这里使用的是MediaElement播放控件,MediaElement需要手动添加代 ...

  10. GNU makefile 学习 - ongoing

    资料: <跟我一起写makefile>---中文,baiduNetdisk http://www.gnu.org/software/make/manual/make.html