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实现配置文件备份的方法
Jul 30 Python
python在不同层级目录import模块的方法
Jan 31 Python
Android分包MultiDex策略详解
Oct 30 Python
在Python中给Nan值更改为0的方法
Oct 30 Python
详解Python进阶之切片的误区与高级用法
Dec 24 Python
解决Python 使用h5py加载文件,看不到keys()的问题
Feb 08 Python
Python高级特性 切片 迭代解析
Aug 23 Python
Python安装whl文件过程图解
Feb 18 Python
PyQt5+Pycharm安装和配置图文教程详解
Mar 24 Python
使用python-Jenkins批量创建及修改jobs操作
May 12 Python
详解python方法之绑定方法与非绑定方法
Aug 17 Python
python 实现倒计时功能(gui界面)
Nov 11 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 增加了对 .ZIP 文件的读取功能
2006/10/09 PHP
PHP 抓取新浪读书频道的小说并生成txt电子书的代码
2009/12/18 PHP
php 无法载入mysql扩展
2010/03/12 PHP
基于python发送邮件的乱码问题的解决办法
2013/04/25 PHP
php将字符串转化成date存入数据库的两种方式
2014/04/28 PHP
ThinkPHP5.0框架结合Swoole开发实现WebSocket在线聊天案例详解
2019/04/02 PHP
用javascript自动显示最后更新时间
2007/03/15 Javascript
一段多浏览器的"复制到剪贴板"javascript代码
2007/03/27 Javascript
网上应用的一个不错common.js脚本
2007/08/08 Javascript
javascript call和apply方法
2008/11/24 Javascript
js 在定义的时候立即执行的函数表达式(function)写法
2013/01/16 Javascript
Jquery图片滚动与幻灯片的实例代码
2013/04/08 Javascript
js改变img标签的src属性在IE下没反应的解决方法
2013/07/23 Javascript
HTML长文本截取含有HTML代码同样适用的两种方法
2013/07/31 Javascript
js 走马灯简单实例
2013/11/21 Javascript
js制作简易年历完整实例
2015/01/28 Javascript
动态创建按钮的JavaScript代码
2016/01/29 Javascript
基于vue实现可搜索下拉框定制组件
2020/03/26 Javascript
node.js使用http模块创建服务器和客户端完整示例
2020/02/10 Javascript
Python中__new__与__init__方法的区别详解
2015/05/04 Python
Ubuntu下使用python读取doc和docx文档的内容方法
2018/05/08 Python
Python3中关于cookie的创建与保存
2018/10/21 Python
django之使用celery-把耗时程序放到celery里面执行的方法
2019/07/12 Python
Python线程障碍对象Barrier原理详解
2019/12/02 Python
pd.DataFrame统计各列数值多少的实例
2019/12/05 Python
CSS3教程(10):CSS3 HSL声明设置颜色
2009/04/02 HTML / CSS
纯CSS3实现的阴影效果
2014/12/24 HTML / CSS
使用canvas来完成线性渐变和径向渐变的功能的方法示例
2019/07/25 HTML / CSS
印度购物网站:TATA CLiQ
2017/11/23 全球购物
大学毕业自我评价
2014/02/02 职场文书
2014年班主任自我评价范文
2014/04/23 职场文书
作文评语集锦
2014/12/25 职场文书
公务员年终个人总结
2015/02/12 职场文书
漫画「处刑少女的生存之道」第3卷封面公开
2022/03/21 日漫
详解Golang如何优雅的终止一个服务
2022/03/21 Golang
SpringBoot使用ip2region获取地理位置信息的方法
2022/06/21 Java/Android