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 相关文章推荐
go和python调用其它程序并得到程序输出
Feb 10 Python
python实现备份目录的方法
Aug 03 Python
举例讲解Python的lambda语句声明匿名函数的用法
Jul 01 Python
Python处理命令行参数模块optpars用法实例分析
May 31 Python
在双python下设置python3为默认的方法
Oct 31 Python
对dataframe数据之间求补集的实例详解
Jan 30 Python
利用python实现汉字转拼音的2种方法
Aug 12 Python
python数据预处理方式 :数据降维
Feb 24 Python
Python 忽略文件名编码的方法
Aug 01 Python
python speech模块的使用方法
Sep 09 Python
python基于turtle绘制几何图形
Jun 15 Python
Python实现聚类K-means算法详解
Jul 15 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
在PHP3中实现SESSION的功能(二)
2006/10/09 PHP
基于PHP技术开发客服工单系统
2016/01/06 PHP
Tab页界面,用jQuery及Ajax技术实现
2009/09/21 Javascript
defer属性导致引用JQuery的页面报“浏览器无法打开网站xxx,操作被中止”错误的解决方法
2010/04/27 Javascript
非常棒的10款jQuery 幻灯片插件
2011/06/14 Javascript
js获取location.href的参数实例代码
2013/08/02 Javascript
jQuery图片轮播的具体实现
2013/09/11 Javascript
javascript从右边截取指定字符串的三种实现方法
2013/11/29 Javascript
nodejs修复ipa处理过的png图片
2016/02/17 NodeJs
小白谈谈对JS原型链的理解
2016/05/03 Javascript
极力推荐一款小巧玲珑的可视化编辑器bootstrap-wysiwyg
2016/05/27 Javascript
socket.io实现在线群聊功能
2017/04/07 Javascript
JavaScript数组push方法使用注意事项
2017/10/30 Javascript
Vuex 使用 v-model 配合 state的方法
2018/11/13 Javascript
jQuery实现表格的增、删、改操作示例
2019/01/27 jQuery
深入探索VueJS Scoped CSS 实现原理
2019/09/23 Javascript
Javascript实现鼠标点击冒泡特效
2019/12/24 Javascript
Webpack3+React16代码分割的实现
2021/03/03 Javascript
[02:02]特效爆炸!DOTA2珍宝之瓶待你开启
2018/08/21 DOTA
python单线程实现多个定时器示例
2014/03/30 Python
简单掌握Python的Collections模块中counter结构的用法
2016/07/07 Python
Python下简易的单例模式详解
2019/04/08 Python
python requests证书问题解决
2019/09/05 Python
Django中的FBV和CBV用法详解
2019/09/15 Python
wxpython绘制圆角窗体
2019/11/18 Python
django实现模型字段动态choice的操作
2020/04/01 Python
超30万乐谱下载:Musicnotes.com
2016/09/24 全球购物
Servlet的实例是在生命周期什么时候创建的?配置servlet最重要的是什么?
2012/05/30 面试题
银行会计业务的个人自我评价
2013/11/02 职场文书
机械工程师的岗位职责
2013/11/17 职场文书
工程专业求职自荐书范文
2014/02/08 职场文书
2014年大学宣传部工作总结
2014/12/19 职场文书
给女朋友的道歉短信
2015/05/12 职场文书
导游词之凤凰古城
2019/10/22 职场文书
DSP接收机前端设想
2022/04/05 无线电