1. import requests
  2. import json
  3. dic={'k1':'v1'}
  4. print(dic,type(dic))
  5. result = json.dumps(dic)#调用dumps方法把字典序列化成一个字符串
  6. print(result,type(result))
  7.  
  8. s1='{"k1":"123","k2":"456"}'
  9. re = json.loads(s1) #调用 load方法将 字符串反序列化为字典对象
  10. print(re,type(re))
  11.  
  12. s2 = '[1,2,3,4,{"a":"aaa","b":"bbb"}]'
  13. rr = json.loads(s2)#调用 load方法将 字符串反序列化为列表对象
  14. print(rr,type(rr))
  15.  
  16. r=requests.get('http://wthrcdn.etouch.cn/weather_mini?city=重庆') #调用地址取得返回值
  17. r.encodeing = 'utf-8'
  18. print(r.text)
  19.  
  20. dic1 = json.loads(r.text)#反序列化 成个字典 反序列化时 一定要 记住使用 外单内双 引号
  21. print(dic1,type(dic1))
  22. print(dic1["data"]["city"])#取得字典中的 各个值
  23.  
  24. #--------------json.dump json.load---------------
  25. li=[1,2,3]
  26. json.dump(li,open("dd","w",encoding='utf-8'))# 两步操作 1步先序列化 列表对象 2步把序列化成的字符串写入文件
  27. li2 =json.load(open("dd","r",encoding='utf-8'))#两步操作 1步先读取文件的字符串对象,然后反序列化成列表对象
  28. print(li2,type(li2))
  1. import pickle
  2. #json更适合跨语言,字符串,基本数据类型的序列化
  3. #pickle,更适用python所有类型的序列化
  4. li=[11,22,33]
  5. r=pickle.dumps(li) #和json相同 序列化对象成字符串 只能python用
  6. print(r,type(r))
  7.  
  8. rr=pickle.loads(r)#反序列化字符串回对象 只能python
  9. print(rr,type(rr))
  10.  
  11. r1=pickle.dump(li,open("dd","wb"))
  12.  
  13. r2 = pickle.load(open("dd","rb"))
  14. print(r2)

python基础学习1-json,pickle的序列化和反序列化的更多相关文章

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

    前言json的序列化和反序列化 1, json 只能序列化简单的数据类型,如,列表,字典,字符串,等简单的类型,不能序列化复杂的类型. 2, json 是支持所有的语言的,多以我们跨语言的时候都是用j ...

  2. Java基础学习总结——Java对象的序列化和反序列化

    一.序列化和反序列化的概念 把对象转换为字节序列的过程称为对象的序列化. 把字节序列恢复为对象的过程称为对象的反序列化. 对象的序列化主要有两种用途: 1) 把对象的字节序列永久地保存到硬盘上,通常存 ...

  3. Java基础学习总结--Java对象的序列化和反序列化

    一.序列化和反序列化的概念 把对象转换成字节序列的过程称之为对象的序列化 把字节序列恢复为对象的过程称之为对象的反序列化 对象序列化的主要用途: 1)把对象的字节序列永久的保存到硬盘上,通常放在一个文 ...

  4. #python基础学习模块:marshal 对象的序列化

    #标准库地址:https://docs.python.org/2/library/marshal.html"""有时候,要把内存中一个对象持久化保存磁盘或者序列化二进制流 ...

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

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

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

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

  7. 迭代器/生成器/装饰器 /Json & pickle 数据序列化

    本节内容 迭代器&生成器 装饰器 Json & pickle 数据序列化 软件目录结构规范 作业:ATM项目开发 1.列表生成式,迭代器&生成器 列表生成式 孩子,我现在有个需 ...

  8. Day1 Python基础学习

    一.编程语言分类 1.简介 机器语言:站在计算机的角度,说计算机能听懂的语言,那就是直接用二进制编程,直接操作硬件 汇编语言:站在计算机的角度,简写的英文标识符取代二进制去编写程序,本质仍然是直接操作 ...

  9. 0003.5-20180422-自动化第四章-python基础学习笔记--脚本

    0003.5-20180422-自动化第四章-python基础学习笔记--脚本 1-shopping """ v = [ {"name": " ...

随机推荐

  1. 关于easyUI一些标签的使用

    ①table: 1.class="easyui-datagrid":指定为easyUI的表格布局 2.pagination="true":带分页的表格 3.ro ...

  2. Oracle 补丁那些事儿(PS、PSU、CPU、SPU、BP、DBBP…)

    当前ORACLE数据库提供两种方式的补丁一种是主动的Proactive Patches和另一种被动的Reactive Patches,其中Reactive Patches是指过去的ONE-OFF Pa ...

  3. 3. 跟踪标记 (Trace Flag) 1204, 1222 抓取死锁信息

    跟踪标记:1204/1222 功能及用途: 捕获SQL Server死锁信息,并自动存放到错误日志(ERRORLOG)中. 举例: USE tempdb GO CREATE TABLE t1(id i ...

  4. [翻译] SIAlertView

    SIAlertView https://github.com/Sumi-Interactive/SIAlertView An UIAlertView replacement with block sy ...

  5. 将Model对象转换成json文本或者json二进制文件

    将Model对象转换成json文本或者json二进制文件 https://github.com/casatwy/AnyJson 注意:经过测试,不能够直接处理字典或者数组 主要源码的注释 AJTran ...

  6. ASP.NET MVC 5 开发环境配置

    Install-Package Ninject -Version 3.2.2 -ProjectName SportsStore.WebUIInstall-Package Ninject.Web.Com ...

  7. ZT 9种排序

    9种排序 2012-09-19 14:58 66人阅读 评论(0) 收藏 编辑 删除 algorithmfpfilemergeintegerfloat [cpp] view plaincopy #in ...

  8. 手动安装gradle

    在学习andorid studio时发现编译超级无比的慢,网上有文说是因为gradle的原因,使用离线gradle可以大幅提高编译速度,准备尝试下看看如何.由于gradle的资料都是英文,而我又是英文 ...

  9. Substring Search

    查找子字符串 Introduction 在长度为 N 的文本里寻找长度为 M 的模式(子串),典型情况是 N >> M. 这个应用就很广泛啦,在文本中寻找特定的模式(子串)是很常见的需求. ...

  10. 团队作业—预则立&&他山之石(改)

    首先特别感谢刘乾学长腾出他宝贵的时间接受我的采访,为我们提出宝贵的建议,深表感谢. 1.他山之石,可以攻玉.借鉴前人的经验可以使我们减少很多走弯路的地方,这也是本次采访的目的,参考历届学长的经验,让我 ...