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之wxPython菜单使用详解
Sep 28 Python
Python采用socket模拟TCP通讯的实现方法
Nov 19 Python
利用Python实现在同一网络中的本地文件共享方法
Jun 04 Python
Python 中的lambda函数介绍
Oct 10 Python
python绘制热力图heatmap
Mar 23 Python
用Python逐行分析文件方法
Jan 28 Python
django使用django-apscheduler 实现定时任务的例子
Jul 20 Python
django自带调试服务器的使用详解
Aug 29 Python
Pandas聚合运算和分组运算的实现示例
Oct 17 Python
python通过实例讲解反射机制
Oct 17 Python
Python完全识别验证码自动登录实例详解
Nov 24 Python
 python中的元类metaclass详情
May 30 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生成扇形比例图实例
2013/11/06 PHP
PHP中批量生成静态html(命令行下运行PHP)
2014/04/19 PHP
php基于SQLite实现的分页功能示例
2017/06/21 PHP
Mootools 1.2教程 事件处理
2009/09/15 Javascript
jquery判断checkbox(复选框)是否被选中的代码
2010/10/20 Javascript
jQuery.get、jQuery.getJSON、jQuery.post无法返回JSON问题的解决方法
2011/07/28 Javascript
jQuery遍历页面所有CheckBox查看是否被选中的方法
2015/04/14 Javascript
jQuery Dialog 打开时自动聚焦的解决方法(两种方法)
2016/11/24 Javascript
JavaScript中英文字符长度统计方法示例【按照中文占2个字符】
2017/01/17 Javascript
js return返回多个值,通过对象的属性访问方法
2017/02/21 Javascript
vue.js中指令Directives详解
2017/03/20 Javascript
Angularjs根据json文件动态生成路由状态的实现方法
2017/04/17 Javascript
JavaScript数据类型和变量_动力节点Java学院整理
2017/06/26 Javascript
vue-cli中打包图片路径错误的解决方法
2017/10/26 Javascript
JavaScript定义及输出螺旋矩阵的方法详解
2017/12/01 Javascript
基于 Immutable.js 实现撤销重做功能的实例代码
2018/03/01 Javascript
深入浅析vue-cli@3.0 使用及配置说明
2019/05/08 Javascript
vue实现单一筛选、删除筛选条件
2020/10/26 Javascript
[36:16]完美世界DOTA2联赛PWL S3 access vs Rebirth 第一场 12.19
2020/12/24 DOTA
[01:30:15]DOTA2-DPC中国联赛 正赛 Ehome vs Aster BO3 第二场 2月2日
2021/03/11 DOTA
在 Python 应用中使用 MongoDB的方法
2017/01/05 Python
Django + Uwsgi + Nginx 实现生产环境部署的方法
2018/06/20 Python
Python正则表达式实现简易计算器功能示例
2019/05/07 Python
Python partial函数原理及用法解析
2019/12/11 Python
pytorch:torch.mm()和torch.matmul()的使用
2019/12/27 Python
在Python中使用K-Means聚类和PCA主成分分析进行图像压缩
2020/04/10 Python
浅谈pycharm导入pandas包遇到的问题及解决
2020/06/01 Python
Andrew Marc官网:设计师外套的领先制造商
2019/10/30 全球购物
项目专员岗位职责
2013/12/04 职场文书
2014年会演讲稿范文
2014/01/06 职场文书
21岁生日感言
2014/02/27 职场文书
艾滋病宣传活动总结
2014/05/08 职场文书
投标承诺函范文
2015/01/21 职场文书
保险内勤岗位职责
2015/04/13 职场文书
爱国教育主题班会
2015/08/14 职场文书
vue 实现弹窗关闭后刷新效果
2022/04/08 Vue.js