Python json读写方式和字典相互转化

Python json读写方式和字典相互转化

1. 什么是JSON

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,也易于机器解析和生成。它基于JavaScript语言的一个子集,因此可以使用JavaScript内置的JSON.parse()函数将JSON文本解析成JavaScript对象。JSON非常适合用于客户端和服务器之间的数据交换,尤其是在Web应用程序中。

2. JSON和Python的数据类型对应关系

在Python中,可以将JSON字符串转换成字典或列表,也可以将字典或列表转换成JSON字符串。JSON和Python的数据类型对应关系如下:

JSON Python
object dict
array list
string str
number int/float
true True
false False
null None

3. JSON字符串转字典

使用Python的json库可以将JSON字符串转换成Python字典。下面示例演示如何将JSON字符串转换成字典:

import json

json_str = '{"name": "张三", "age": 18}'

person_dict = json.loads(json_str)

print(person_dict)

print(type(person_dict))

输出结果为:

{'name': '张三', 'age': 18}

<class 'dict'>

使用json.loads()函数将JSON字符串转换成字典。

4. 字典转JSON字符串

使用Python的json库可以将Python字典转换成JSON字符串。下面示例演示如何将字典转换成JSON字符串:

import json

person_dict = {'name': '张三', 'age': 18}

json_str = json.dumps(person_dict)

print(json_str)

print(type(json_str))

输出结果为:

{"name": "\u5f20\u4e09", "age": 18}

<class 'str'>

使用json.dumps()函数将Python字典转换成JSON字符串。注意,输出的JSON字符串中的中文会被转义成Unicode编码。

5. 读取JSON文件

使用Python的json库可以读取JSON格式的文件,读取后会返回一个Python字典或列表。下面示例演示如何读取JSON格式的文件:

import json

with open('data.json', 'r') as f:

data_dict = json.load(f)

print(data_dict)

print(type(data_dict))

输出结果为:

{'name': '张三', 'age': 18}

<class 'dict'>

使用json.load()函数读取JSON格式的文件,返回一个Python字典或列表。其中,'data.json'是文件路径,'r'表示以只读方式打开文件,可以通过修改'r'为'w'实现向JSON文件写入数据。

6. 写入JSON文件

使用Python的json库可以写入JSON格式的文件,可以将Python字典或列表写入JSON文件。下面示例演示如何将Python字典写入到JSON文件:

import json

person_dict = {'name': '张三', 'age': 18}

with open('data.json', 'w') as f:

json.dump(person_dict, f)

使用json.dump()函数将Python字典写入JSON文件。其中,'data.json'是文件路径,'w'表示以写入方式打开文件,可以通过修改'w'为'a'实现向JSON文件追加数据。

7. 结论

Python的json库能够方便地实现JSON字符串和Python字典之间的转换,并且能够读取和写入JSON格式的文件。这些功能在Web应用程序中十分有用。

后端开发标签