博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【module】json
阅读量:6094 次
发布时间:2019-06-20

本文共 1420 字,大约阅读时间需要 4 分钟。

json and picle

​ JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式。JSON的数据格式其实就是python里面的字典格式,里面可以包含方括号括起来的数组,也就是python里面的列表。

在python中,有专门处理json格式的模块—— json 和 picle模块

  • Json 模块提供了四个方法: dumps、dump、loads、load
  • pickle 模块也提供了四个功能:dumps、dump、loads、load

json 总结:

  • json 序列化操作方法:

    • dumps:无文件操作
    • dump:序列化+写入文件
  • json反序列话方法:

    • loads:无文件操作
    • load:读文件+反序列化
  • json模块序列化的数据更通用
  • picle模块序列化的数据仅Python可用,但功能强大,可以序列化函数
  • json模块可以序列化和反序列化的数据类型见Python对象(obj)与json对象的对应关系表
  • 格式化写入文件利用 indent = 4

dumps and dump

dumps and dump 序列化方法

  • dumps 只完成了序列化str
  • dump必须传文件描述符,将序列化的str保存到文件中

代码:

>>> import json>>> json.dumps([]) # dumps可以格式化所有的基本数据类型为字符串'[]'>>> json.dumps(1) # 数字'1'>>> json.dumps('1') # 字符串'"1"'>>> dict = {'name':'tom','age':23}>>> json.dumps(dict) # 字典'{"name": "tom", "age": 23}'
a = {"name":"Tom", "age":23}with open("test.json", "w", encoding='utf-8') as f:    f.write(json.dumps(a,indent=4))# indent 格式化保存字典,默认为None,小于0为零个空格# json.dump(a,f,indent=4) #和上面的效果一样

loads and load

loads and load 反序列化方法

  • loads 只完成了反序列化
  • load 只接受文件描述符,完成了读取文件和反序列化

代码:

>>> json.loads('{"name":"Tom", "age":23}'){'age': 23, 'name': 'Tom'}with open('test.json','r',encoding='utf-8') as f:    aa = json.load(f.read())    f.seek(0)    bb = json.load(f)print(aa)print(bb)

json and picle 模块

  • json模块和picle模块都有 dumps、dump、loads、load四种方法,而且用法一样。
  • json模块序列化出来的是通用格式,其它编程语言都认识,就是普通的字符串
  • picle模块序列化出来的只有python可以认识,其他编程语言不认识的,表现为乱码
  • picle可以序列化函数,但是其他文件想用该函数,在该文件中需要有该文件的定义(定义和参数必须相同,内容可以不同)

转载地址:http://bjwza.baihongyu.com/

你可能感兴趣的文章
使用FMDB最新v2.3版本教程
查看>>
SSIS从理论到实战,再到应用(3)----SSIS包的变量,约束,常用容器
查看>>
STM32启动过程--启动文件--分析
查看>>
垂死挣扎还是涅槃重生 -- Delphi XE5 公布会归来感想
查看>>
淘宝的几个架构图
查看>>
Android扩展 - 拍照篇(Camera)
查看>>
JAVA数组的定义及用法
查看>>
充分利用HTML标签元素 – 简单的xtyle前端框架
查看>>
设计模式(十一):FACADE外观模式 -- 结构型模式
查看>>
iOS xcodebuile 自动编译打包ipa
查看>>
程序员眼中的 SQL Server-执行计划教会我如何创建索引?
查看>>
【BZOJ】1624: [Usaco2008 Open] Clear And Present Danger 寻宝之路(floyd)
查看>>
cmake总结
查看>>
数据加密插件
查看>>
linux后台运行程序
查看>>
win7 vs2012/2013 编译boost 1.55
查看>>
IIS7如何显示详细错误信息
查看>>
ViewPager切换动画PageTransformer使用
查看>>
coco2d-x 基于视口的地图设计
查看>>
C++文件读写详解(ofstream,ifstream,fstream)
查看>>