» Python快速入门 » 4. 常用模块篇 » 4.3 json

json

JSON (JavaScript 对象简谱),由 RFC 7159ECMA-404 所规范,是一种基于 JavaScript 对象语法的轻量级的数据交换格式。

字典转成 JSON 字符串

import json

d = {"c": 1, "b": 2, "a": 0}
print(json.dumps(d)) # {"c": 1, "b": 2, "a": 0}
print(json.dumps(d, sort_keys=True)) # {"a": 0, "b": 2, "c": 1}

列表转成 JSON 字符串

import json

l = ['foo', {'bar': ('baz', None, 1.0, 2)}]
print(json.dumps(l)) # ["foo", {"bar": ["baz", null, 1.0, 2]}]

解码 JSON 字符串到字典和列表

import json

l = json.loads('["foo", {"bar":["baz", null, 1.0, 2]}]')
print(l) # ['foo', {'bar': ['baz', None, 1.0, 2]}]
print(l[1]) # {'bar': ['baz', None, 1.0, 2]}
print(l[0]) # foo

d = json.loads('{"a": 0, "b": 2, "c": 1}')
print(d) # {'a': 0, 'b': 2, 'c': 1}
print(d["a"]) # 0

特殊 JSON 对象解码

import json

def as_complex(dct):
    if '__complex__' in dct:
        return complex(dct['real'], dct['imag'])
    return dct
result = json.loads('{"__complex__": true, "real": 1, "imag": 2}', object_hook=as_complex)
print(result) # (1+2j)

代码挑战

尝试修改编辑器中代码,使其输出答案。

Loading...
> 此处输出代码运行结果
上页
下页