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 相关文章推荐
Python3指定路径寻找符合匹配模式文件
May 22 Python
Python使用面向对象方式创建线程实现12306售票系统
Dec 24 Python
python在不同层级目录import模块的方法
Jan 31 Python
Python判断字符串是否为字母或者数字(浮点数)的多种方法
Aug 03 Python
Python 通过requests实现腾讯新闻抓取爬虫的方法
Feb 22 Python
python实现简单加密解密机制
Mar 19 Python
浅谈python图片处理Image和skimage的区别
Aug 04 Python
Python3常用内置方法代码实例
Nov 18 Python
python求质数列表的例子
Nov 24 Python
判断Threading.start新线程是否执行完毕的实例
May 02 Python
python对execl 处理操作代码
Jun 22 Python
使用OpenCV实现人脸图像卡通化的示例代码
Jan 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
那些年一起学习的PHP(二)
2012/03/21 PHP
PHP抽象类 介绍
2012/06/13 PHP
七款最流行的PHP本地服务器分享
2013/02/19 PHP
Laravel实现用户注册和登录
2015/01/23 PHP
[原创]静态页面也可以实现预览 列表不同的显示方式
2006/10/14 Javascript
js 巧妙去除数组中的重复项
2010/01/25 Javascript
两个JavaScript jsFiddle JSBin在线调试器
2010/03/14 Javascript
JavaScript类和继承 prototype属性
2010/09/03 Javascript
Node.js中创建和管理外部进程详解
2014/08/16 Javascript
jQuery中filter()方法用法实例
2015/01/06 Javascript
微信小程序 定义全局数据、函数复用、模版等详细介绍
2016/10/27 Javascript
Base64(二进制)图片编码解析及在各种浏览器的兼容性处理
2017/02/09 Javascript
ES6中javascript实现函数绑定及类的事件绑定功能详解
2017/11/08 Javascript
详解vue通过NGINX部署在子目录或者二级目录实践
2018/09/03 Javascript
运用js实现图层拖拽的功能
2019/05/24 Javascript
layui 选择列表,打勾,点击确定返回数据的例子
2019/09/02 Javascript
Vue快速实现通用表单验证功能
2019/12/05 Javascript
JS深入学习之数组对象排序操作示例
2020/05/01 Javascript
[02:43]2018DOTA2亚洲邀请赛主赛事首日TOP5
2018/04/04 DOTA
python分割和拼接字符串
2013/11/01 Python
Pycharm学习教程(2) 代码风格
2017/05/02 Python
Python进阶学习之特殊方法实例详析
2017/12/01 Python
用uWSGI和Nginx部署Flask项目的方法示例
2019/05/05 Python
五分钟学会怎么用Pygame做一个简单的贪吃蛇
2021/01/06 Python
澳大利亚拥有最好的家具和家居用品在线目的地:Nestz
2019/02/23 全球购物
BAILEY 44官网:美国制造的女性服装
2019/07/01 全球购物
高级3D打印市场:Gambody
2019/12/26 全球购物
施工安全协议书
2013/12/11 职场文书
怎样写好创业计划书的内容
2014/02/06 职场文书
医学生个人求职信范文
2014/02/07 职场文书
工作违纪检讨书范文
2015/01/26 职场文书
2015年乡镇财政工作总结
2015/05/19 职场文书
人事任命书范本
2015/09/21 职场文书
导游词之河北邯郸
2019/09/12 职场文书
Python OpenCV超详细讲解基本功能
2022/04/02 Python
vue router 动态路由清除方式
2022/05/25 Vue.js