18. Python 标准库之 Json 模块
JSON 是一种轻量级、跨语言的数据交换格式,凭借结构简洁、易读写、传输高效的特点被广泛使用。Python 内置json标准库可轻松实现与 JSON 数据的交互。本文介绍 JSON 基础格式,并详细讲解 dumps、loads、dump、load 四大核心方法,结合实操示例演示数据转换、文件读写等常用操作。
一、概述
1.1 json 格式
使用 JSON 描述一个人:
{
"name": "Danny",
"age": 8
}
- 人有两个属性: name 和 age
- 属性 name 的值为 “Danny”
- 属性 age 的值为 12
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 对象 |
二、json.dumps(obj)
json.dumps(obj)的功能是将 JSON 对象转换成字符串,示例如下:
>>> import json
>>> object = {'name':'Danny', 'age':8}
>>> string = json.dumps(object)
>>> string
'{"name": "Danny", "age": 8}'
- 在第 2 行,创建变量 object,变量 object 是 JSON 对象;
- 在第 3 行,使用 dumps 将 object 转换为 string。
三、 json.loads(s)
json.loads(obj)的功能是将字符串转换成 JSON 对象,示例如下:
>>> import json
>>> string = '{"name": "Danny", "age": 8}'
>>> object = json.loads(string)
>>> object
{'name':'Danny', 'age':8}
>>> object['name']
'Danny'
>>> object['age']
8
- 在第 2 行,创建字符串 string,它以字符串的形式描述了一个 JSON 对象;
- 在第 3 行,使用 loads 将 string 转换为 object;
- 在第 6 行,显示 object 的属性 name 的值;
- 在第 8 行,显示 object 的属性 age 的值。
4. json.dump(obj,file)
json.dump(obj,file)的功能是将 JSON 对象转换成字符串,并写入到文件中,示例如下:
import json
file = open('person.json', 'w')
object = {'name':'Danny', 'age':8}
json.dump(object, file)
file.close()
- 在第 2 行,创建文件 person.json;
- 在第 3 行,创建 JSON 对象 object;
- 在第 4 行,将 JSON 对象 object 写入到文件 file 中。
运行该程序,在当前目录下生成文件 person.json,内容如下:
{"name": "Danny", "age": 8}
5. json.load(file)
json.load(file)的功能是将读取文件中的字符串,转换成 JSON 对象,示例如下:
import json
file = open('person.json')
object = json.load(file)
print(object)
print(object['name'])
print(object['age'])
file.close()
- 在第 2 行,打开文件 person.json;
- 在第 3 行,从文件中读取字符串,转换成 JSON 对象;
- 在第 5 行,显示 object 的属性 name 的值;
- 在第 6 行,显示 object 的属性 age 的值。
假设当前目录下存在文件 person.json,内容如下:
{"name": "Danny", "age": 8}
运行程序后,输出结果如下:
{'name':'Danny', 'age':8}
Danny
8
本文讲解了 JSON 的基础概念与语法规范,同时完整演示了 Python json 模块的四类常用方法。借助这些接口,能够灵活完成字典与 JSON 字符串的互转,以及 JSON 数据的文件读写。掌握以上用法,便可满足日常开发中绝大多数 JSON 数据处理与数据持久化的需求。
以上关于18. Python 标准库之 Json 模块的文章就介绍到这了,更多相关内容请搜索码云笔记以前的文章或继续浏览下面的相关文章,希望大家以后多多支持码云笔记。
如若内容造成侵权/违法违规/事实不符,请将相关资料发送至 admin@mybj123.com 进行投诉反馈,一经查实,立即处理!
重要:如软件存在付费、会员、充值等,均属软件开发者或所属公司行为,与本站无关,网友需自行判断
码云笔记 » 18. Python 标准库之 Json 模块
微信
支付宝