Python的标准模块包json详解
简介
json
是Python标准库中的一个模块,用于处理JSON格式的数据。它提供了一种简单的方法将Python对象转换为JSON格式的字符串,以及将JSON格式的字符串转换为Python对象。
使用方法
将Python对象转换为JSON格式字符串
使用json.dumps()
方法可以将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对象
使用json.loads()
方法可以将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'}
注意事项
- 转换过程中涉及到的数据类型必须是JSON可序列化的类型,如
dict
、list
、str
、int
、float
、True
、False
和None
。 - 对于非可序列化对象,可以通过自定义转换方法来实现。
示例
示例1:使用自定义转换方法
以下是一个示例,将自定义的Person
类转换为JSON格式字符串:
import json
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def toJson(self):
return {
"name": self.name,
"age": self.age
}
person = Person("John", 30)
person_json = json.dumps(person, default=person.toJson)
print(person_json)
输出:
{"name": "John", "age": 30}
示例2:使用indent
参数输出格式化JSON字符串
以下是一个示例,通过设置indent
参数输出格式化的JSON字符串:
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详解 - Python技术站