Linux集群之美
上QQ阅读APP看书,第一时间看更新

2.5.4 使用Python解析JSON

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写。前面已介绍过,它是开发工作中用得最多的一种数据文件格式。本节为大家介绍如何使用Python语言来编码和解码JSON对象。

表2-6 JSON模块各函数的作用

首先导入JSON模块,命令如下:


import json

其具体函数的作用如表2-6所示。

json.dumps用于将Python对象编码成JSON字符串,下面举个简单的例子说明下:


#!/usr/bin/python
import json
data = [ { 'a' : 1, 'b' : 2, 'c' : 3, 'd' : 4, 'e' : 5 } ]
j = json.dumps(data,indent=4)
print j

如果没有indent=4这样的参数,输出格式一般都不优美。当数据很多的时候,就不是很直观,所以用indent参数来对JSON进行数据格式化输出。输出结果如下:

表2-7 Python类型向JSON类型转化的对照表


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

Python类型向JSON类型转化的对照表见表2-7。

json.loads用于将JSON对象解码成Python对象,这里还是举一个简单的例子,代码如下:


#!/usr/bin/python
import json
data = '{"a":1,"b":2,"c":3,"d":4,"e":5}';
text = json.loads(data)
print text

输出结果如下:


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

JSON类型向Python类型转化的对照表见表2-8。

表2-8 JSON类型向Python类型转化的对照表