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 匹配任意字符(包括换行符)的正则表达式写法
Oct 29 Python
使用scrapy实现爬网站例子和实现网络爬虫(蜘蛛)的步骤
Jan 23 Python
python更新列表的方法
Jul 28 Python
Python获取linux主机ip的简单实现方法
Apr 18 Python
使用Python对Excel进行读写操作
Mar 30 Python
Python中pygal绘制雷达图代码分享
Dec 07 Python
ERLANG和PYTHON互通实现过程详解
Jul 05 Python
浅谈pytorch grad_fn以及权重梯度不更新的问题
Aug 20 Python
python求质数列表的例子
Nov 24 Python
django使用channels实现通信的示例
Oct 19 Python
Numpy ndarray 多维数组对象的使用
Feb 10 Python
matplotlib之pyplot模块坐标轴标签设置使用(xlabel()、ylabel())
Feb 22 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简单开启gzip压缩方法(zlib.output_compression)
2013/04/13 PHP
php实现的Captcha验证码类实例
2014/09/22 PHP
从性能方面考虑PHP下载远程文件的3种方法
2015/12/29 PHP
php制作的简单验证码识别代码
2016/01/26 PHP
ECSHOP完美解决Deprecated: preg_replace()报错的问题
2016/05/17 PHP
CakePHP框架Session设置方法分析
2017/02/23 PHP
禁止刷新,回退的JS
2006/11/25 Javascript
JavaScript监测ActiveX控件是否已经安装过的代码
2008/09/02 Javascript
javascript SpiderMonkey中的函数序列化如何进行
2012/12/05 Javascript
NodeJS与Mysql的交互示例代码
2013/08/18 NodeJs
javascript常用的正则表达式实例
2014/05/15 Javascript
一个实用的图片切换支持点击切换和自动轮播
2014/09/09 Javascript
jquery 插件实现瀑布流图片展示实例
2015/04/03 Javascript
prototype框架中美元符号$用法分析
2016/01/22 Javascript
大型JavaScript应用程序架构设计模式
2016/06/29 Javascript
Angular的$http的ajax的请求操作(推荐)
2017/01/10 Javascript
使用travis-ci如何持续部署node.js应用详解
2017/07/30 Javascript
form表单数据封装成json格式并提交给服务器的实现方法
2017/12/14 Javascript
JS动画定时器知识总结
2018/03/23 Javascript
微信小程序实现打卡日历功能
2020/09/21 Javascript
你或许不知道的一些npm实用技巧
2019/07/04 Javascript
在SSM框架下用laypage和ajax实现分页和数据交互的方法
2019/09/27 Javascript
vue中实现图片压缩 file文件的方法
2020/05/28 Javascript
vue element table中自定义一些input的验证操作
2020/07/18 Javascript
Python实现拷贝多个文件到同一目录的方法
2016/09/19 Python
windows及linux环境下永久修改pip镜像源的方法
2016/11/28 Python
python浪漫表白源码
2019/04/05 Python
python脚本当作Linux中的服务启动实现方法
2019/06/28 Python
Python3实现mysql连接和数据框的形成(实例代码)
2020/01/17 Python
Jupyter notebook快速入门教程(推荐)
2020/05/18 Python
Html5实现用户注册自动校验功能实例代码
2016/05/24 HTML / CSS
英国在线女鞋目的地:SIMMI
2018/12/27 全球购物
英国复古服装购物网站:Collectif
2019/10/30 全球购物
商场消防管理制度
2014/01/12 职场文书
清明节寄语2015
2015/03/23 职场文书
纪委立案决定书
2015/06/24 职场文书