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检查字符串是否是正确ISBN的方法
Jul 11 Python
Python写的一个定时重跑获取数据库数据
Dec 28 Python
Python3实现发送QQ邮件功能(文本)
Dec 15 Python
Python2实现的图片文本识别功能详解
Jul 11 Python
使用Python写一个量化股票提醒系统
Aug 22 Python
对pandas中两种数据类型Series和DataFrame的区别详解
Nov 12 Python
Flask框架web开发之零基础入门
Dec 10 Python
Python 中的 import 机制之实现远程导入模块
Oct 29 Python
将pytorch转成longtensor的简单方法
Feb 18 Python
PyQt5中向单元格添加控件的方法示例
Mar 24 Python
Pandas||过滤缺失数据||pd.dropna()函数的用法说明
May 14 Python
python数据可视化使用pyfinance分析证券收益示例详解
Nov 20 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
IIS+PHP+MySQL+Zend配置 (视频教程)
2006/12/13 PHP
『PHP』PHP截断函数mb_substr()使用介绍
2013/04/22 PHP
zf框架db类的分页示例分享
2014/03/14 PHP
初识Laravel
2014/10/30 PHP
php将字符串随机分割成不同长度数组的方法
2015/06/01 PHP
thinkphp3.x中变量的获取和过滤方法详解
2016/05/20 PHP
php封装的mongodb操作类代码
2017/08/06 PHP
js动态添加onload、onresize、onscroll事件(另类方法)
2012/12/26 Javascript
jquery load事件(callback/data)使用方法及注意事项
2013/02/06 Javascript
Javascript控制页面链接在新窗口打开具体方法
2013/08/16 Javascript
《JavaScript DOM 编程艺术》读书笔记之JavaScript 简史
2015/01/09 Javascript
jQuery+AJAX实现网页无刷新上传
2015/02/22 Javascript
JavaScript函数使用的基本教程
2015/06/04 Javascript
JS+Canvas绘制时钟效果
2020/08/20 Javascript
vue 判断两个时间插件结束时间必选大于开始时间的代码
2020/11/04 Javascript
编写Python的web框架中的Model的教程
2015/04/29 Python
Python使用multiprocessing创建进程的方法
2015/06/04 Python
python解决Fedora解压zip时中文乱码的方法
2016/09/18 Python
Python数据结构之单链表详解
2017/09/12 Python
Python中实现switch功能实例解析
2018/01/11 Python
Python利用splinter实现浏览器自动化操作方法
2018/05/11 Python
[原创]Python入门教程3. 列表基本操作【定义、运算、常用函数】
2018/10/30 Python
Python3.5面向对象编程图文与实例详解
2019/04/24 Python
Python 20行简单实现有道在线翻译的详解
2019/05/15 Python
基于python实现音乐播放器代码实例
2020/07/01 Python
Django REST Swagger实现指定api参数
2020/07/07 Python
基于python图书馆管理系统设计实例详解
2020/08/05 Python
纯CSS3实现手风琴风格菜单具体步骤
2013/05/06 HTML / CSS
html5+css3之CSS中的布局与Header的实现
2014/11/21 HTML / CSS
基于HTML5新特性Mutation Observer实现编辑器的撤销和回退操作
2016/01/11 HTML / CSS
日本面向世界,国际级的免税在线购物商城:DOKODEMO
2017/02/01 全球购物
蒂芙尼澳大利亚官方网站:Tiffany&Co. Australia
2017/08/27 全球购物
薇姿法国官网:Vichy法国
2021/01/28 全球购物
2014年健康教育实施方案
2014/02/17 职场文书
小学作文评语大全
2014/04/21 职场文书
计算机实训心得体会
2016/01/14 职场文书