Python JSON格式化
1. 简介
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,广泛应用于前后端数据传输和存储。Python提供了json
模块来处理JSON数据,包括解析JSON字符串和格式化输出。本文将详细介绍Python中JSON的相关操作。
2. JSON基础
在开始介绍Python中JSON的使用前,我们先来了解一下JSON的基础知识。
2.1 JSON语法
JSON由键值对组成,键必须是字符串,值可以是字符串、数字、布尔值、数组、对象或者null
。JSON使用花括号{}
表示对象,使用方括号[]
表示数组。
以下是一个包含各种类型的JSON示例:
2.2 JSON和Python对象的对应关系
将JSON数据解析后,我们可以将其转换为Python对象。具体的转换规则如下:
JSON | Python |
---|---|
Object | dict |
Array | list |
Number | int/float |
String | str |
Boolean | bool |
null | None |
3. JSON解析
在Python中,我们可以使用json
模块来解析JSON字符串。json
模块提供了两个主要的方法:json.loads()
和json.load()
。
3.1 json.loads()
json.loads()
方法将JSON字符串解析为Python对象。
以下是一个示例代码:
输出:
3.2 json.load()
json.load()
方法从文件中读取JSON字符串并解析为Python对象。
假设我们有一个名为data.json
的文件,并包含以下内容:
以下是一个示例代码:
输出:
4. JSON格式化输出
在Python中,我们可以使用json
模块将Python对象转换为JSON字符串,并格式化输出。
4.1 json.dumps()
json.dumps()
方法用于将Python对象转换为JSON字符串。
以下是一个示例代码:
输出:
4.2 json.dump()
json.dump()
方法用于将Python对象转换为JSON字符串,并将其写入文件。
以下是一个示例代码:
执行后将在当前目录下生成名为data.json
的文件,并包含以下内容:
5. JSON数据访问
5.1 访问对象中的值
以下是一个示例代码,演示如何访问JSON对象中的值:
输出:
5.2 访问数组中的值
以下是一个示例代码,演示如何访问JSON数组中的值:
输出:
6. JSON格式化输出选项
json.dumps()
方法提供了一些选项来控制JSON格式化输出的形式,如缩进、排序等。
以下是一些常用的选项:
indent
:指定缩进的空格数,可以是整数或字符串,默认为None
。separators
:指定分隔符,默认为(', ', ': ')
。sort_keys
:指定是否按键进行排序,默认为False
。
以下是一个示例代码:
输出:
7. 总结
本文介绍了Python中处理JSON的基本操作,包括解析JSON字符串、格式化输出和访问JSON数据。通过json
模块的相关方法,我们可以在Python中轻松地处理JSON数据,实现与其他语言的数据交换和存储。