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应用程序中十分有用。