欢迎访问宙启技术站
智能推送

PythonJSON处理:10个必备函数

发布时间:2023-07-02 22:58:19

在Python中,处理JSON数据是非常常见的任务之一。JSON(JavaScript Object Notation)是一种常用的数据格式,用于在不同系统和编程语言之间交换数据。

下面是10个在Python中处理JSON数据时非常有用的函数:

1. json.loads():将JSON字符串转换为Python字典或列表。这个函数接受一个JSON字符串作为参数,并返回一个对应的Python数据类型。例如:

import json

data = '{"name": "John", "age": 30, "city": "New York"}'
person = json.loads(data)

print(person["name"])  # 输出: John
print(person["age"])  # 输出: 30
print(person["city"])  # 输出: New York

2. json.dumps():将Python字典或列表转换为JSON字符串。这个函数接受一个Python数据类型作为参数,并返回一个对应的JSON字符串。例如:

import json

person = {"name": "John", "age": 30, "city": "New York"}
data = json.dumps(person)

print(data)  # 输出: {"name": "John", "age": 30, "city": "New York"}

3. json.dump():将Python字典或列表转换为JSON,并将其写入文件中。这个函数接受一个Python数据类型和一个文件对象作为参数,并将数据写入文件中。例如:

import json

person = {"name": "John", "age": 30, "city": "New York"}
with open("person.json", "w") as file:
    json.dump(person, file)

4. json.load():从文件中读取JSON数据并将其转换为Python字典或列表。这个函数接受一个文件对象作为参数,并返回对应的Python数据类型。例如:

import json

with open("person.json", "r") as file:
    data = json.load(file)

print(data["name"])  # 输出: John
print(data["age"])  # 输出: 30
print(data["city"])  # 输出: New York

5. json.load(s):将字符串s作为JSON解析并返回Python对应的数据类型。例如:

import json

data = '{"name": "John", "age": 30, "city": "New York"}'
person = json.loads(data)

print(person["name"])  # 输出: John
print(person["age"])  # 输出: 30
print(person["city"])  # 输出: New York

6. json.dump(obj, fp, \*:args, \*\*kwargs):将Python对象转换为JSON,并将其写入文件中。这是json.dump()的扩展版本,可以通过参数\*args和\*\*kwargs设置一些额外的选项,例如缩进等。

7. json.JSONEncoder:这是一个JSON编码器的基类,可以通过继承并自定义编码器来处理特定的数据类型或对象。

8. json.JSONDecoder:这是一个JSON解码器的基类,可以通过继承并自定义解码器来处理特定的数据类型或对象。

9. json.dumps()的sorted关键字参数:可以通过sorted参数将JSON键按字母顺序排序。例如:

import json

person = {"name": "John", "age": 30, "city": "New York"}
data = json.dumps(person, sorted_keys=True)

print(data)  # 输出: {"age": 30, "city": "New York", "name": "John"}

10. json.dumps()的indent关键字参数:可以通过indent参数设置缩进的空格数,使得生成的JSON字符串更易读。例如:

import json

person = {"name": "John", "age": 30, "city": "New York"}
data = json.dumps(person, indent=4)

print(data)
# 输出:
# {
#     "name": "John",
#     "age": 30,
#     "city": "New York"
# }

以上是10个在Python中处理JSON数据时常用的函数。掌握这些函数将使得处理JSON数据变得更加容易和高效。