Python Json 模块
JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于 ECMAScript (欧洲计算机协会制定的 javascript 规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。
1. 概述
1.1 json 格式
使用 JSON 描述一个人:
{name: tom,age: }
1.2 json 模块
Python 标准库的 json 模块提供了对 json 的支持:
把字符串转换成 JSON 对象
把 JSON 对象换成字符串
json 模块提供了如下常用方法:
方法 | 功能 |
---|---|
json.dumps(obj) | 将 JSON 对象转换成字符串 |
json.loads(obj) | 将字符串转换成 JSON 对象 |
json.dump(obj,file) | 将 JSON 对象转换成字符串,并写入到文件中 |
json.load(file) | 读取文件中的字符串,转换成 JSON 对象 |
2. json.dumps(obj)
json.dumps(obj) 的功能是将 JSON 对象转换成字符串,示例如下:
>>> import json>>> object = {'name':'tom', 'age':}>>> string = json.dumps(object)>>> string'{name: tom, age: 12}'
在第 2 行,创建变量 object,变量 object 是 JSON 对象
在第 3 行,使用 dumps 将 object 转换为 string
3. json.loads(s)
json.loads(obj) 的功能是将字符串转换成 JSON 对象,示例如下:
>>> import json>>> string = '{name: tom, age: 12}'>>> object = json.loads(string)>>> object{'name':'tom', 'age':}>>> object['name']'tom'>>> object['age']
在第 2 行,创建字符串 string,它以字符串的形式描述了一个 JSON 对象
在第 3 行,使用 loads 将 string 转换为 object
4. json.dump(obj,file)
json.dump(obj,file) 的功能是将 JSON 对象转换成字符串,并写入到文件中,示例如下:
import jsonfile = open('person.json', 'w')object = {'name':'tom', 'age':}json.dump(object, file)file.close()
运行该程序,在当前目录下生成文件 person.json,内容如下:
{name: tom, age: 12}
5. json.load(file)
json.load(file) 的功能是将读取文件中的字符串,转换成 JSON 对象,示例如下:
import jsonfile = open('person.json')object = json.load(file)print(object)print(object['name'])print(object['age'])file.close()
在第 2 行,打开文件 person.json
{name: tom, age: 12}
运行该程序,输出结果如下:
{'name':'tom', 'age':12}tom 12