Python学习笔记之解析json的方法分析


Posted in Python onApril 21, 2017

本文实例讲述了Python解析json的方法。分享给大家供大家参考,具体如下:

刚学习到Python中解析json的方法,觉得有必要在这里坐下笔记。

我是在python的内部环境中看的

Encoding basic Python object hierarchies

>>> import json
>>> json.dumps(['foo', {'bar': ('baz', None, 1.0, 2)}])
'["foo", {"bar": ["baz", null, 1.0, 2]}]'
>>> print json.dumps("\"foo\bar")
"\"foo\bar"
>>> print json.dumps(u'\u1234')
"\u1234"
>>> print json.dumps('\\')
"\\"
>>> print json.dumps({"c": 0, "b": 0, "a": 0}, sort_keys=True)
{"a": 0, "b": 0, "c": 0}
>>> from StringIO import StringIO
>>> io = StringIO()
>>> json.dump(['streaming API'], io)
>>> io.getvalue()
'["streaming API"]'

Compact encoding::

>>> import json
>>> json.dumps([1,2,3,{'4': 5, '6': 7}], sort_keys=True, separators=(',',':'))
'[1,2,3,{"4":5,"6":7}]'
Pretty printing::
>>> import json
>>> print json.dumps({'4': 5, '6': 7}, sort_keys=True,
         indent=4, separators=(',', ': '))
{
  "4": 5,
  "6": 7
}

Decoding JSON::

>>> import json
>>> obj = [u'foo', {u'bar': [u'baz', None, 1.0, 2]}]
>>> json.loads('["foo", {"bar":["baz", null, 1.0, 2]}]') == obj
True
>>> json.loads('"\\"foo\\bar"') == u'"foo\x08ar'
True
>>> from StringIO import StringIO
>>> io = StringIO('["streaming API"]')
>>> json.load(io)[0] == 'streaming API'
True

Specializing JSON object decoding::

>>> import json
>>> def as_complex(dct):
   if '__complex__' in dct:
     return complex(dct['real'], dct['imag'])
   return dct
>>> json.loads('{"__complex__": true, "real": 1, "imag": 2}',
   object_hook=as_complex)
(1+2j)
>>> from decimal import Decimal
>>> json.loads('1.1', parse_float=Decimal) == Decimal('1.1')
True

Specializing JSON object encoding::

>>> import json
>>> def encode_complex(obj):
   if isinstance(obj, complex):
     return [obj.real, obj.imag]
   raise TypeError(repr(o) + " is not JSON serializable")
>>> json.dumps(2 + 1j, default=encode_complex)
'[2.0, 1.0]'
>>> json.JSONEncoder(default=encode_complex).encode(2 + 1j)
'[2.0, 1.0]'
>>> ''.join(json.JSONEncoder(default=encode_complex).iterencode(2 + 1j))
'[2.0, 1.0]'

Python学习笔记之解析json的方法分析

Python学习笔记之解析json的方法分析

或者也可以去看官方文档,自己能学到东西才是真的!

Python 相关文章推荐
Python3读取文件常用方法实例分析
May 22 Python
Python发送form-data请求及拼接form-data内容的方法
Mar 05 Python
Python文本相似性计算之编辑距离详解
Nov 28 Python
python3大文件解压和基本操作
Dec 15 Python
TF-IDF与余弦相似性的应用(一) 自动提取关键词
Dec 21 Python
python学习之hook钩子的原理和使用
Oct 25 Python
在Python中使用defaultdict初始化字典以及应用方法
Oct 31 Python
python3实现逐字输出的方法
Jan 23 Python
Python批量删除只保留最近几天table的代码实例
Apr 01 Python
Pyinstaller 打包exe教程及问题解决
Aug 16 Python
Python序列化与反序列化pickle用法实例
Nov 11 Python
Python生态圈图像格式转换问题(推荐)
Dec 02 Python
Python正则抓取网易新闻的方法示例
Apr 21 #Python
Python中shape计算矩阵的方法示例
Apr 21 #Python
Python使用正则表达式抓取网页图片的方法示例
Apr 21 #Python
用python找出那些被“标记”的照片
Apr 20 #Python
python实现12306火车票查询器
Apr 20 #Python
Python编程修改MP3文件名称的方法
Apr 19 #Python
Python实现将罗马数字转换成普通阿拉伯数字的方法
Apr 19 #Python
You might like
php中通过正则表达式下载内容中的远程图片的函数代码
2012/01/10 PHP
php中文验证码实现示例分享
2014/01/12 PHP
php中mysql操作buffer用法详解
2015/03/19 PHP
JavaScript Event事件学习第一章 Event介绍
2010/02/07 Javascript
加速IE的Javascript document输出的方法
2010/12/02 Javascript
Javascript 实现复制(Copy)动作方法大全
2014/06/20 Javascript
jquery实现类似淘宝星星评分功能实例
2014/09/12 Javascript
超级简单实现JavaScript MVC 样式框架
2015/03/24 Javascript
JavaScript实现select添加option
2015/07/03 Javascript
原生js轮播(仿慕课网)
2017/02/15 Javascript
jquery网页加载进度条的实现
2017/06/01 jQuery
使用JS动态显示文本
2017/09/09 Javascript
Vuex实现计数器以及列表展示效果
2018/03/10 Javascript
js中Object.defineProperty()方法的不详解
2018/07/09 Javascript
在NPM发布自己造的轮子的方法步骤
2019/03/09 Javascript
sortable+element 实现表格行拖拽的方法示例
2019/06/07 Javascript
Vue实现回到顶部和底部动画效果
2019/07/31 Javascript
JS使用正则表达式判断输入框失去焦点事件
2019/10/16 Javascript
python中使用enumerate函数遍历元素实例
2014/06/16 Python
python实现的文件夹清理程序分享
2014/11/22 Python
Python cookbook(数据结构与算法)从任意长度的可迭代对象中分解元素操作示例
2018/02/13 Python
pandas or sql计算前后两行数据间的增值方法
2018/04/20 Python
python爬虫 execjs安装配置及使用
2019/07/30 Python
详解h5页面在不同ios设备上的问题总结
2019/03/01 HTML / CSS
HTML5页面嵌入小程序没有返回按钮及返回页面空白的问题
2020/05/28 HTML / CSS
MediaMarkt比利时:欧洲最大电器连锁店
2020/12/21 全球购物
大学生入党思想汇报
2014/01/14 职场文书
网上卖盒饭创业计划书
2014/01/26 职场文书
食品厂厂长岗位职责
2014/01/30 职场文书
员工考核管理制度
2014/02/02 职场文书
毕业生面试求职信
2014/06/23 职场文书
新农村建设标语
2014/06/24 职场文书
专题民主生活会对照检查材料思想汇报
2014/09/29 职场文书
因公司原因离职的辞职信范文
2015/05/12 职场文书
毕业论文致谢词
2015/05/14 职场文书
golang在GRPC中设置client的超时时间
2021/04/27 Golang