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 11 Python
python通过pil模块获得图片exif信息的方法
Mar 16 Python
Python验证企业工商注册码
Oct 25 Python
实例讲解Python设计模式编程之工厂方法模式的使用
Mar 02 Python
python和shell获取文本内容的方法
Jun 05 Python
Django REST Framework序列化外键获取外键的值方法
Jul 26 Python
基于pytorch的保存和加载模型参数的方法
Aug 17 Python
基于python cut和qcut的用法及区别详解
Nov 22 Python
Python sep参数使用方法详解
Feb 12 Python
python实现TCP文件传输
Mar 20 Python
Keras—embedding嵌入层的用法详解
Jun 10 Python
Python实现DBSCAN聚类算法并样例测试
Jun 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
攻克CakePHP系列一 连接MySQL数据库
2008/10/22 PHP
php设计模式 Builder(建造者模式)
2011/06/26 PHP
php文件操作实例代码
2012/05/10 PHP
laravel 解决强制跳转 https的问题
2019/10/22 PHP
javascript 常用方法总结
2009/06/03 Javascript
jquery与google map api结合使用 控件,监听器
2010/03/04 Javascript
基于jQuery的消息提示插件之旅 DivAlert(三)
2010/04/01 Javascript
jQuery中bind与live的用法及区别小结
2014/01/27 Javascript
Js Jquery创建一个弹出层可加载一个页面
2014/05/08 Javascript
JQuery页面地址处理插件jqURL详解
2015/05/03 Javascript
jQuery实现仿Alipay支付宝首页全屏焦点图切换特效
2015/05/04 Javascript
jQuery插件之Tocify动态节点目录菜单生成器附源码下载
2016/01/08 Javascript
javascript 广告移动特效的实现代码
2016/06/25 Javascript
详解使用grunt完成requirejs的合并压缩和js文件的版本控制
2017/03/02 Javascript
iOS + node.js使用Socket.IO框架进行实时通信示例
2017/04/14 Javascript
Angularjs验证用户输入的字符串是否为日期时间
2017/06/01 Javascript
通过webpack引入第三方库的方法
2018/07/20 Javascript
JavaScript链式调用实例浅析
2018/12/19 Javascript
JS数组中对象去重操作示例
2019/06/04 Javascript
VSCode搭建Vue项目的方法
2020/04/30 Javascript
Vue双向绑定实现原理与方法详解
2020/05/07 Javascript
JavaScript 装逼指南(js另类写法)
2020/05/10 Javascript
JavaScript Image对象实现原理实例解析
2020/08/26 Javascript
在antd4.0中Form使用initialValue操作
2020/11/02 Javascript
浅谈django model postgres的json字段编码问题
2018/01/05 Python
python保存数据到本地文件的方法
2018/06/23 Python
python判断数字是否是超级素数幂
2018/09/27 Python
python打开windows应用程序的实例
2019/06/28 Python
浅析Python+OpenCV使用摄像头追踪人脸面部血液变化实现脉搏评估
2019/10/17 Python
浅谈python中统计计数的几种方法和Counter详解
2019/11/07 Python
用JAVA实现一种排序,JAVA类实现序列化的方法(二种)
2014/04/23 面试题
什么样的创业计划书可行性高?
2014/02/01 职场文书
自立自强的名人事例
2014/02/10 职场文书
植树节活动总结
2014/04/30 职场文书
迟到检讨书
2015/01/26 职场文书
python 如何获取页面所有a标签下href的值
2021/05/06 Python