Python解析json
2015-11-28 20:42
731 查看
刚学习到Python中解析json的方法,觉得有必要在这里坐下笔记。
我是在python的内部环境中看的
或者也可以去看官方文档,自己能学到东西才是真的!
我是在python的内部环境中看的
<span style="font-family: Arial, Helvetica, sans-serif;"> </span><span style="font-family: Arial, Helvetica, sans-serif;">Encoding basic Python object hierarchies</span>
<span style="font-family: Arial, Helvetica, sans-serif;"> >>> import json</span>
>>> 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爬虫实战(三):爬网易新闻
- 【Python】计算文件MD5 和 SHA1
- Python数据类型之列表
- 趣学Python-教孩子学编程--第五章
- 趣学Python-教孩子学编程--第四章
- 趣学Python-教孩子学编程--第三章
- Python基础_SAX解析文件
- 《Python基础教程》第二版代码清单2-3更正
- python学习中的点点滴滴
- python parse命令行参数
- Python之Python 安装环境搭建
- Python生成随机数的方法
- python 第三方库import失败解决方法
- Document Filtering(naive bayes method) used by python
- python多线程编程例子实验
- Python中模拟C#对应Linq的一些操作
- Python3.5+Django1.8链接Mysql数据库的方法
- python高可用程序设计方法
- python 切片
- Python的渔网生成工具。属性表操作