python_json

json 介绍

http://www.ruanyifeng.com/blog/2009/05/data_types_and_json.html
介绍得很简洁

data type有三种:
{
    scale
    sequence, 或者称为array, list
    mapping, 或者称为object
}

书写规则:
{
    1. sequence 用(方括号 [])表示
    2. mapping 用(大括号 {})表示
    3. 并列数据用 (逗号 ,)分隔
    4. 映射关系用(冒号 :)表示
}

注意:
{
    1. 并列数据集合,最后一个元素后面不跟(逗号 ,)
}

json的在线校验

https://www.bejson.com/

python的json常用接口

序列化,dict => json

import json
json = json.dumps(dict)

反序列化,json => dict
dict = json.loads(json)

序列化,python custom class => json
json.dumps(instance, default=convert_function)
convert_function (instance) => json_serialize_object
json.dumps(instance, default=lambda obj: obj.dict)

反序列化,json => python custom class
json.loads(json, object_hook=convert_function)
convert_function (dict) => instance

python 反序列化,带缩进

json.dump( ..., indent=4)