📜  Python中的JSON格式(1)

📅  最后修改于: 2023-12-03 15:19:27.038000             🧑  作者: Mango

Python中的JSON格式

在Python中,可以使用JSON(JavaScript Object Notation)格式来表示、存储和传输数据。JSON是一种轻量级的数据交换格式,易于阅读和编写,并且易于解析和生成。它是基于JavaScript的一个子集,但是可以被多种编程语言使用。

JSON模块

Python中内置的json模块可以帮助我们在Python中解析和生成JSON数据。该模块提供了一些方法,可以将JSON数据转换为Python数据结构,也可以将Python数据结构转换为JSON数据。例如,可以使用json.loads()方法将JSON字符串转换为Python对象,使用json.dumps()方法将Python对象转换为JSON字符串。

以下是一个将Python对象转换为JSON字符串的例子:

import json

person = {'name': 'John', 'age': 30, 'city': 'New York'}
person_json = json.dumps(person)
print(person_json)

输出结果为:

{"name": "John", "age": 30, "city": "New York"}

以下是一个将JSON字符串转换为Python对象的例子:

import json

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

输出结果为:

{'name': 'John', 'age': 30, 'city': 'New York'}
在Python中读写JSON文件

Python中也可以将JSON数据保存到文件中,或者从文件中读取JSON数据并进行处理。使用json.dump()方法可以将Python对象转换为JSON字符串并保存到文件中,使用json.load()方法可以从JSON文件中读取JSON数据并转换为Python对象。

以下是一个将Python对象保存到JSON文件的例子:

import json

person = {'name': 'John', 'age': 30, 'city': 'New York'}

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

以下是一个从JSON文件中读取数据的例子:

import json

with open('person.json', 'r') as f:
    person = json.load(f)

print(person)
Python中的JSON数据类型

在Python中,JSON数据可以表示为以下数据类型:

  • 字符串(str)
  • 数字(int、float)
  • 布尔值(True、False)
  • 列表(list)
  • 字典(dict)
  • None

需要注意的是,JSON中不支持Python中的一些数据类型,如元组(tuple)、集合(set)等。

JSON字符串格式化

为了使JSON数据易于阅读并符合人类阅读习惯,可以通过json.dumps()方法中的indent参数来格式化JSON数据。indent参数指定缩进级别的数量,通常为2或4。例如:

import json

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

输出结果为:

{
    "name": "John",
    "age": 30,
    "city": "New York"
}
总结

Python中的JSON模块提供了一些方法,可以将JSON数据转换为Python对象,也可以将Python对象转换为JSON数据。在Python中读写JSON数据也非常方便。JSON支持多种数据类型,但不支持Python中的一些数据类型。可以使用indent参数来格式化JSON数据,使其易于阅读。