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 相关文章推荐
Python实现提取文章摘要的方法
Apr 21 Python
Perl中著名的Schwartzian转换问题解决实现
Jun 02 Python
基于python yield机制的异步操作同步化编程模型
Mar 18 Python
python实现教务管理系统
Mar 12 Python
python解析json串与正则匹配对比方法
Dec 20 Python
python selenium 查找隐藏元素 自动播放视频功能
Jul 24 Python
Python学习笔记之lambda表达式用法详解
Aug 08 Python
tensorflow 固定部分参数训练,只训练部分参数的实例
Jan 20 Python
自定义Django默认的sitemap站点地图样式
Mar 04 Python
python实现猜拳游戏
Mar 04 Python
Python加载数据的5种不同方式(收藏)
Nov 13 Python
使用Python通过oBIX协议访问Niagara数据的示例
Dec 04 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
一个简单的自动发送邮件系统(三)
2006/10/09 PHP
php出现Cannot modify header information问题的解决方法大全
2008/04/09 PHP
php环境配置之CGI、FastCGI、PHP-CGI、PHP-FPM、Spawn-FCGI比较?
2011/10/17 PHP
PHP图片验证码制作实现分享(全)
2012/05/10 PHP
php实现用户注册密码的crypt加密
2017/06/08 PHP
yii 框架实现按天,月,年,自定义时间段统计数据的方法分析
2020/04/04 PHP
jQuery学习4 浏览器的事件模型
2010/02/07 Javascript
jquery插件jquery倒计时插件分享
2013/12/27 Javascript
jquery中ajax函数执行顺序问题之如何设置同步
2014/02/28 Javascript
jQuery遍历之next()、nextAll()方法使用实例
2014/11/08 Javascript
bootstrap改变按钮加载状态
2014/12/01 Javascript
jQuery Ajax调用WCF服务详细教程
2015/03/31 Javascript
javascript常用函数(1)
2015/11/04 Javascript
AngularJS实践之使用NgModelController进行数据绑定
2016/10/08 Javascript
探讨AngularJs中ui.route的简单应用
2016/11/16 Javascript
vue.js路由mode配置之去掉url上默认的#方法
2019/11/01 Javascript
原生js实现日期选择插件
2020/05/21 Javascript
微信小程序实现页面监听自定义组件的触发事件
2020/11/01 Javascript
[46:48]DOTA2上海特级锦标赛A组小组赛#2 Secret VS CDEC第三局
2016/02/25 DOTA
Python安装Imaging报错:The _imaging C module is not installed问题解决方法
2014/08/22 Python
Django1.7+python 2.78+pycharm配置mysql数据库教程
2014/11/18 Python
python图像处理之反色实现方法
2015/05/30 Python
Python实现的文本对比报告生成工具示例
2018/05/22 Python
Flask实现图片的上传、下载及展示示例代码
2018/08/03 Python
Python干货:分享Python绘制六种可视化图表
2018/08/27 Python
利用pyecharts实现地图可视化的例子
2019/08/12 Python
python实现可下载音乐的音乐播放器
2020/02/25 Python
Python图片处理模块PIL操作方法(pillow)
2020/04/07 Python
从零开始的TensorFlow+VScode开发环境搭建的步骤(图文)
2020/08/31 Python
python pyg2plot的原理知识点总结
2021/02/28 Python
CSS3+font字体文件实现圆形半透明菜单具体步骤(图解)
2013/06/03 HTML / CSS
北美三大旅游网站之一:Travelocity加拿大
2016/08/20 全球购物
用缩写的指针比较"if(p)" 检查空指针是否可靠?如果空指针的内部表达不是0会怎么样?
2014/01/05 面试题
Android面试题及答案
2015/09/04 面试题
《桥》教学反思
2014/04/09 职场文书
贯彻落实“八项规定”思想汇报
2014/09/13 职场文书