image.png
使用 JSON 函数需要导入 json 库:import json

函数 描述
json.dumps 将 Python 对象编码成 JSON 字符串
json.loads 将已编码的 JSON 字符串解码为 Python 对象

json.dumps

json.dumps 用于将 Python 对象编码成 JSON 字符串。

json.dumps(obj, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, cls=None, indent=None, separators=None, encoding=”utf-8”, default=None, sort_keys=False, **kw)

python 原始类型向 json 类型的转化对照表:

Python JSON
dict object
list, tuple array
str, unicode string
int, long, float number
True true
False false
None null

json.loads

json.loads 用于解码 JSON 数据。该函数返回 Python 字段的数据类型。

json.loads(s[, encoding[, cls[, object_hook[, parse_float[, parse_int[, parse_constant[, object_pairs_hook[, **kw]]]]]]]])

json 类型转换到 python 的类型对照表:

JSON Python
object dict
array list
string unicode
number (int) int, long
number (real) float
true True
false False
null None

第三方库:Demjson

pip install demjson

函数 描述
encode 将 Python 对象编码成 JSON 字符串
decode 将已编码的 JSON 字符串解码为 Python 对象
  1. #!/usr/bin/python
  2. import json
  3. # Python 对象编码成 JSON 字符串
  4. import demjson
  5. data = [{'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}]
  6. data2 = json.dumps(data)
  7. print(data2)
  8. data3 = json.dumps({'a': 'json', 'b': 7}, sort_keys=True, indent=4, separators=(',', ': '))
  9. print(data3)
  10. #已编码的 JSON 字符串解码为 Python 对象
  11. jsonData = '{"a":1,"b":2,"c":3,"d":4,"e":5}';
  12. text = json.loads(jsonData)
  13. print(text)
  14. #编码
  15. json = demjson.encode(data)
  16. print(json)
  17. #解码
  18. json = '{"a":1,"b":2,"c":3,"d":4,"e":5}';
  19. text = demjson.decode(json)
  20. print(text)