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实现忽略大小写对字符串列表排序的方法
Sep 25 Python
Python写的英文字符大小写转换代码示例
Mar 06 Python
在Python中使用模块的教程
Apr 27 Python
浅谈Python爬虫基本套路
Mar 25 Python
Linux下升级安装python3.8并配置pip及yum的教程
Jan 02 Python
Pytorch实现基于CharRNN的文本分类与生成示例
Jan 08 Python
浅谈python量化 双均线策略(金叉死叉)
Jun 03 Python
详解Python+Selenium+ChromeDriver的配置和问题解决
Jan 19 Python
pycharm 实现光标快速移动到括号外或行尾的操作
Feb 05 Python
TensorFlow的环境配置与安装方法
Feb 20 Python
Python使用OpenCV和K-Means聚类对毕业照进行图像分割
Jun 11 Python
Python时间操作之pytz模块使用详解
Jun 14 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
THINKPHP内容分页代码分享
2015/01/14 PHP
ThinkPHP、ZF2、Yaf、Laravel框架路由大比拼
2015/03/25 PHP
PHP实现通过get方式识别用户发送邮件的方法
2015/07/16 PHP
php计算年龄精准到年月日
2015/11/17 PHP
非常重要的php正则表达式详解
2016/01/04 PHP
joomla组件开发入门教程
2016/05/04 PHP
Laravel框架实现发送短信验证功能代码
2016/06/06 PHP
ThinkPHP框架结合Ajax实现用户名校验功能示例
2019/07/03 PHP
ASP 过滤数组重复数据函数(加强版)
2010/05/31 Javascript
过虑特殊字符输入的js代码
2010/08/05 Javascript
在Javascript中 声明时用"var"与不用"var"的区别
2013/04/15 Javascript
flash遮住div问题的正确解决方法
2014/02/27 Javascript
PHP中使用微秒计算脚本执行时间例子
2014/11/19 Javascript
jquery增加和删除元素的方法
2015/01/14 Javascript
基于Jquery插件实现跨域异步上传文件功能
2016/04/26 Javascript
总结jQuery插件开发中的一些要点
2016/05/16 Javascript
AngularJS中过滤器的使用与自定义实例代码
2016/09/17 Javascript
微信小程序之小豆瓣图书实例
2016/11/30 Javascript
深入理解JavaScript中的尾调用(Tail Call)
2017/02/07 Javascript
nodejs制作爬虫实现批量下载图片
2017/05/19 NodeJs
Nodejs实现多房间简易聊天室功能
2017/06/20 NodeJs
用最简单的方法判断JavaScript中this的指向(推荐)
2017/09/04 Javascript
Angular使用cli生成自定义文件、组件的方法
2018/09/04 Javascript
vue2 v-model/v-text 中使用过滤器的方法示例
2019/05/09 Javascript
基于jQuery拖拽事件的封装
2020/11/29 jQuery
Python求算数平方根和约数的方法汇总
2016/03/09 Python
Python判断列表是否已排序的各种方法及其性能分析
2016/06/20 Python
Python实现字符串反转的常用方法分析【4种方法】
2017/09/30 Python
python3 拼接字符串的7种方法
2018/09/12 Python
python实现斗地主分牌洗牌
2020/06/22 Python
细说NumPy数组的四种乘法的使用
2020/12/18 Python
2014两会优秀的心得体会范文
2014/03/17 职场文书
外语专业毕业生自荐信
2014/04/14 职场文书
大型活动组织方案
2014/05/10 职场文书
创作书写之导游词实用技巧分享(干货)
2019/12/20 职场文书
用Python仅20行代码编写一个简单的端口扫描器
2022/04/08 Python