一.简介:

序列化/(Serialization): 将对象的状态信息转换为可以存储或可以通过网络传输的过程,传输的格式可以是JSON,XML等,反序列化就是从存储区域(JSON,XML),读取反序列化对象的状态,重新创建改对象。

JSON(Java Script Object Notation): 一种轻量级数据交互格式,相对于XML而言更简单,也易于阅读和编写,及其也方便解析和生产,Json是JavaScript中的一个子集

python2.6版本开始加入了JSON模块,python的json模块序列化与反序列化的过程分别是encoding 和decondig

  encoding: 把一个python对象编码转换成Json字符串

  decoding 把json格式字符串编码换成python对象

二.应用      JSON 提供四个方法  dumps,dump,loads,load

1.JSON  dumps 序列化

1 1 import json
2 #dumps 功能
3 #将数据通过特殊的形式转换为所有程序语言都认识的字符串
4 2 dic = {"name":"simple","age":"22"}
5 3 dic_json = json.dumps(dic)
6 4 #将JSON序列化之后的数据写到文件中。
7 5 with open("dumps.txt","w") as f:
8 6     f.write(dic_json)

2. JSON loads 反序列化

 1 import json #loads 功能 #将json编码的字符串在转换为python的数据结构2 with open("dumps.txt","rb") as f:
 3     data = f.read()
 4     dic = json.loads(data)
 5 print(dic)

说明

JSON 编码支持的基本类型有: None, boll , int, float,string,list,tuple,dict对于字典,JSON会假设key是字符串(字典中的任何非字符串key都会在编码时转换为字符串),要符合JSON规范,应该只对python列表和字典进行编码。

json编码的格式几乎和python语法一致,略有不同的是:True会被映射为true,False会被映射为false,None会被映射为null,元组()会被映射为列表[],因为其他语言没有元组的概念,只有数组,也就是列表。

1  >>> import json
2  >>> data = {'a':True, 'b':False, 'c':None, 'd':(1,2), 1:'abc'}
3  >>> j_str = json.dumps(data)
4  >>> j_str
5 5'{"a": true, "c": null, "d": [1, 2], "b": false, "1": "abc"}'

转载于:https://www.cnblogs.com/simple001/p/7458963.html

Python3 之 JSON相关推荐

  1. python3解析json数据_Python3高级教程

    Python3 JSON 数据解析 JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于ECMAScript的一个子集. Python3 中可以使用 ...

  2. 问题:python3关于json文件多余一行后发生的错误

    import json list1 = [1,2,3,4,5,6] with open('1.json','w') as f:json.dump(list1,f) with open('1.json' ...

  3. Python3自定义json逐层解析器

    [本文出自天外归云的博客园] 用python3对json内容逐层进行解析,拿中国天气网的接口返回数据测试,代码如下: # -*- coding: utf-8 -*- import operator a ...

  4. Python3处理json文件和csv文件

    目录 1.Python3处理json文件 2.Python3处理csv文件 1.Python3处理json文件 ''' The i18n module was removed in pygal-2.0 ...

  5. python3 转换json数据的单引号双引号注意点

    在 python3 里,一个json是一个字典,形如 {"a":15} 那么,如果你要将它转换成字符串,也许你用的是str({"a":15}),这样转出来的,可 ...

  6. python3安装json库-python库json快速入门

    在本教程中,您将学习如何借助示例在Python中解析,读取和编写JSON. 此外,您将学习将JSON转换为dict并将其打印出来. JSON简介 JSON (JavaScript Object Not ...

  7. python3解析json数据_Python3 JSON 数据解析

    JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于ECMAScript的一个子集. Python3 中可以使用 json 模块来对 JSON 数据进 ...

  8. Python3 写JSON数据到文件(多行格式化版)

    import jsondict_var = {'name': 'Cactus', 'age': 18, 'skills': ['Python', 'Java', 'Go', 'NodeJS'], 'h ...

  9. python3 json_python3 json模块

    importjson"""将python的字典和列表转化为json字符串.json是前后端交互的枢纽"""dic= {'name': '莉莉 ...

最新文章

  1. 多模块后带来的问题解决方法 - OSGI原形(.NET)
  2. Android Studio 出现 Gradle's dependency cache may be corrupt 解决办法
  3. Linux软件安装小结
  4. 以太坊智能合约安全入门了解一下(上)
  5. hql中获取前一天的数据_PostgreSql 怎么获取数据库中关键系统信息(一)
  6. ios 获取是否静音模式_果粉感动:部分iOS“新功能”早已被安卓玩坏
  7. QT示例:基于TCP 点对多Socket通讯(server,clients)
  8. Web前端期末大作业--响应式有氧健身休闲会所网页设计(HTML+CSS+JavaScript)
  9. 物理服务器向虚拟化无缝对接,服务器虚拟化下的网络变迁
  10. pandas php,pandas分组聚合代码详解
  11. php 封装一个sdk,PHP 之微信JSSDK类封装
  12. java中10个用户注册_JavaWeb(十)Session
  13. EOJ3536 求蛇形矩阵每一行的和---找规律
  14. Python实现类似局域网QQ群聊
  15. Matlab中pickic_MATLAB中uigetfile命令的应用
  16. 亲身经历:程序人生路上的荆棘与感动
  17. MyBatis中jdbc和managed的区别
  18. unity内部自带局域网制作
  19. Aspose.Words控件支持DOC,OOXML,RTF,HTML,OpenDocument,PDF,XPS,EPUB和其他格式
  20. 论遇到事情的沉着与冷静

热门文章

  1. SQL Server 数据库状态选项
  2. (6)timedatetime(时间模块)
  3. POJ 3694 (tarjan缩点+LCA+并查集)
  4. Python网络编程:IO多路复用
  5. haslayout详解
  6. 备份MySQL数据库
  7. UIApplication shared application用法总结
  8. Ubuntu 改变workspace布局
  9. 九大排序算法,你会几个?
  10. 关于分页的一些经验。