Python JSON

JSON ( JavaScript Object Notation ) 是一种轻量级的数据交换格式

Python 在 Python 2.7 以上版本内置了 json 模块用来解码和编码 JSON

导入模块

使用 JSON 函数需要导入 json 库

import json

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)

下面的代码使用 json.dumps() 函数将 Python 数据编码为 JSON

#!/usr/bin/python
import json

data = [ { 'a' : 1, 'b' : 2, 'c' : 3, 'd' : 4, 'e' : 5 } ]

json = json.dumps(data)
print json

以上 Python 代码执行结果为

[{"a": 1, "c": 3, "b": 2, "e": 5, "d": 4}]

可以设置参数 indent=4 来美化输出,更容易阅读

>>> import json
>>> print json.dumps({'site': 'www.twle.cn', 'age': 27}, sort_keys=True, indent=4)
{
    "age": 27,
    "site": "www.twle.cn"
}

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 数据,把 JSON 字符串转化为 Python 的数据类型

原型

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

下面的代码使用 json.loads() 解码 JSON 字符串

#!/usr/bin/python
import json

jsonData = '{"a":1,"b":2,"c":3,"d":4,"e":5}';

text = json.loads(jsonData)
print text

以上 Python 代码执行结果为

{u'a': 1, u'c': 3, u'b': 2, u'e': 5, u'd': 4}

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

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

延伸阅读

  1. Python json 官方文档:https://docs.python.org/3/library/json.html

Python2 基础教程

关于   |   FAQ   |   我们的愿景   |   广告投放   |  博客

  简单教程,简单编程 - IT 入门首选站

Copyright © 2013-2022 简单教程 twle.cn All Rights Reserved.