- 1、本文档共11页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
官方文档-JSON格式的编码器和解码器(可参考)概要
18.2.? HYPERLINK /python_278/library/json.html \l module-json \o json: Encode and decode the JSON format. json?—?JSON 格式的编码器和解码器 HYPERLINK /python_278/library/json.html \l module-json \o Permalink to this headline
在 2.6 版本新。
HYPERLINK / JSON (JavaScript 对象符号),由指定? HYPERLINK /html/rfc4627.html RFC 4627,是基于 HYPERLINK /wiki/JavaScript JavaScript语法的一个子集的轻量级数据交换格式 ( HYPERLINK /publications/files/ECMA-ST-ARCH/ECMA-262, 3rd edition, December 1999.pdf ECMA 262 第 3 版)。
HYPERLINK /python_278/library/json.html \l module-json \o json: Encode and decode the JSON format. json公开 API 的标准库 HYPERLINK /python_278/library/marshal.html \l module-marshal \o marshal: Convert Python objects to streams of bytes and back (with different constraints). marshal和 HYPERLINK /python_278/library/pickle.html \l module-pickle \o pickle: Convert Python objects to streams of bytes and back. pickle模块的用户所熟悉。
注:python的新版本一般都自带了json。
一些旧版本的python没有自带json,需要安装demjson模块
$ tar xvfz demjson-1.6.tar.gz
$ cd demjson-1.6
$ python setup.py install
另外还有simplejson,从网上文档得知,如果没有c扩展加速,性能低下。对比python自带的json,json性能上可以接收,推荐使用自带的json模块
编码基本的 Python 对象层次结构:python自带了json模块
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]
压缩编码:
import json
json.dumps([1,2,3,{4: 5, 6: 7}], separators=(,,:))
[1,2,3,{4:5,6:7}]
漂亮的打印:
import json
print json.dumps({4: 5, 6: 7}, sort_keys=True,
... indent=4, separators=(,, : ))
{
4: 5,
6: 7
}
解码 JSON:
import json
json.loads([foo, {bar:[baz, null, 1.0, 2]}])
[ufoo, {ubar: [ubaz, None, 1.0, 2]}]
json.loads(\\foo\\bar)
ufoo\x08ar
from StringIO import StringIO
io = StringIO([streaming API])
json.load(io)
[ustreaming API]
专用
文档评论(0)