什么是json:

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999的一个子集。JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。这些特性使JSON成为理想的数据交换语言。

JSON建构于两种结构:“名称/值”对的集合(A collection of name/value pairs)。不同的语言中,它被理解为对象(object),纪录(record),结构(struct),字典(dictionary),哈希表(hash table),有键列表(keyed list),或者关联数组 (associative array)。

值的有序列表(An ordered list of values)。在大部分语言中,它被理解为数组(array)。

这些都是常见的数据结构。事实上大部分现代计算机语言都以某种形式支持它们。这使得一种数据格式在同样基于这些结构的编程语言之间交换成为可能。

Python JSON模块

Python2.6开始加入了JSON模块,无需另外下载,Python的Json模块序列化与反序列化的过程分别是 encoding和 decoding。encoding-把一个Python对象编码转换成Json字符串;decoding-把Json格式字符串解码转换成Python对象。要使用json模块必须先导入:import json

简单数据类型的处理

Python JSON模块可以直接处理简单数据类型(string、unicode、int、float、list、tuple、dict)。 json.dumps()方法返回一个str对象,编码过程中会存在从python原始类型向json类型的转化过程,具体的转化对照如下:

json.dumps方法提供了很多好用的参数可供选择,比较常用的有sort_keys(对dict对象进行排序,我们知道默认dict是无序存放的)、separators,indent等参数,dumps方法的定义为:json.dump(obj, fp, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True,cls=None, indent=None,

separators=None, encoding="utf-8", default=None, sort_keys=False,**kw)

使用简单的json.dumps方法对简单数据类型进行编码,例如:obj = [[1,2,3],123,123.123,'abc',{'key1':(1,2,3),'key2':(4,5,6)}]

encodedjson = json.dumps(obj)

print 'the original list:

',obj

print 'length of obj is:',len(repr(obj))

print 'repr(obj),replace whiteblank with *:

', repr(obj).replace(' ','*')

print 'json encoded,replace whiteblank with *:

',encodedjson.replace(' ','*')

输出:(Python默认的item separator是‘, '(不是','),所以list无论是转化成字符串还是json格式,成员之间都是有空格隔开的)the original list:

[[1, 2, 3], 123, 123.123, 'abc', {'key2': (4, 5, 6), 'key1': (1, 2, 3)}]

length of obj is: 72

repr(obj),replace whiteblank with *:

[[1,*2,*3],*123,*123.123,*'abc',*{'key2':*(4,*5,*6),*'key1':*(1,*2,*3)}]

json encoded,replace whiteblank with *:

[[1,*2,*3],*123,*123.123,*"abc",*{"key2":*[4,*5,*6],*"key1":*[1,*2,*3]}]

python中json是什么意思_python中json是什么相关推荐

  1. Python基础_第3章_Python中的循环结构

    Python基础_第3章_Python中的循环结构 文章目录 Python基础_第3章_Python中的循环结构 Python中的循环结构 一.回顾分支练习题 1.判断是否为一个合法三角形 2.求世界 ...

  2. Python基础_第5章_Python中的数据序列

    Python基础_第5章_Python中的数据序列 文章目录 Python基础_第5章_Python中的数据序列 Python中的数据序列 一.字典--Python中的==查询==神器 1.为什么需要 ...

  3. python中pickle模块的用法_Python中json模块和pickle模块的简单介绍(附示例)

    本篇文章给大家带来的内容是关于Python中json模块和pickle模块的简单介绍(附示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. Python中的json模块和pickl ...

  4. python json dict对象使用_Python中:dict(或对象)与json之间的互相转化

    在Python语言中,json数据与dict字典以及对象之间的转化,是必不可少的操做.python 在Python中自带json库.经过import json导入.json 在json模块有2个方法, ...

  5. python中json使用方法总结_python中的json总结

    json(javascript object notation, js 对象简谱) 是一种轻量级的数据交换格式.它基于 ecmascript (欧洲计算机协会制定的js规范)的一个子集,采用完全独立于 ...

  6. python post与get的区别_python中get和post有什么区别

    更多编程教程请到:菜鸟教程 https://www.piaodoo.com/ 友情链接: 高州阳光论坛https://www.hnthzk.com/ 人人影视http://www.sfkyty.com ...

  7. python运行mcmc为何老出错_python中mcmc方法的实现

    MCMC方法在贝叶斯统计中运用很多,MIT发布的EMCEE是实现的比较好的.介绍页面在下面.源代码中examples里的代码可以帮助理解各种功能,特别是line.py 列出了最小二乘法,最大似然法和M ...

  8. python中常用的序列化模块_Python中的序列化和反序列化

    为什么要序列化 内存中的字典.列表.集合以及各种对象,如何保存到一个文件中. 设计一套协议,按照某种规则,把内存中的数据保存到文件中,文件是一个个字节序列.所以必须把数据额转换为字节序列,输出到文件, ...

  9. python中常用的序列化模块_Python 中的序列化模块

    封面图片来源:沙沙野 序列化模块前面讲到解码编码的时候提过,网络数据传输只能通过 bytes 类型.而文件写入内容(不是指存储)既可以是 bytes,也可以是 string.这些操作都可以使用 eva ...

  10. python round(1234.5678、-2)_Python中你不知道的特性

    内置函数print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False) 本函数是实现对象以字符串表示的方式格式化输出到流文件对象fil ...

最新文章

  1. 分享一款博客园皮肤及其解决方案
  2. 开源一些Delphi系统:mp3play
  3. Phantomjs代理设置
  4. rails3系统架构
  5. 每日一题(52)—— 进程
  6. 台式计算机的硬件组成部分,台式电脑主机的硬件组成部分简介
  7. 功率谱 魏凤英统计程序_单通道语音增强之统计信号模型
  8. 安卓学习笔记11:常用布局 - 网格布局
  9. 成年男女间存在真正的友谊吗?
  10. android地图的框架与地图控件
  11. 协同过滤推荐算法详解
  12. 一款好用的并发测试工具、接口测试工具、项目管理工具
  13. 耗时两周,纯手敲python入门级基础笔记
  14. videojs-flash.min.js 报错 this.el_.vjs_getProperty is not a function
  15. 详解第三方支付之支付清算体系(上)
  16. 农历与公历日期转换(1900年 至 2049年)
  17. .NET性能相关书籍
  18. Vue3中setup前写async页面不显示
  19. darknet 框架 安装编译
  20. linux proc 文件系统下 entry 的解释(转)

热门文章

  1. AVI格式视频文件编码格式缺少编码解释器且该项目的编码格式不受支持(0xc00d5212错误)
  2. 推荐一款手机app自动点击神器
  3. 迭代扩展卡尔曼滤波IEKF
  4. 电容的耐压值选择---陶瓷电容、钽电容、电解电容
  5. 如何批量打印PDF文件
  6. 谷歌浏览器安装扩展插件
  7. 在mac上怎么把png转换成jpg
  8. 医学知识-骨密度以及骨密度测量
  9. 读书笔记004:王阳明语录
  10. iOS 微信授权登录