下面就对Python3内置模块之json编解码方法小结进行详细讲解。
什么是JSON?
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。它具有自描述性且易于阅读和编写,常用于Web应用程序之间的数据传输。
Python中的JSON模块
Python中的json模块提供了编码和解码JSON数据的功能。它定义了两个方法: dumps() 和 loads(),用于序列化和反序列化JSON数据。
dumps()方法
dumps()方法将Python对象编码成JSON字符串,它接受一个Python对象作为输入,返回一个序列化后的JSON格式的字符串。
示例1:将Python字典对象编码成JSON字符串
import json
obj = {"name": "Jack", "age": 30, "city": "New York"}
json_str = json.dumps(obj)
print("Python字典对象:", obj)
print("JSON字符串:", json_str)
输出结果:
Python字典对象: {'name': 'Jack', 'age': 30, 'city': 'New York'}
JSON字符串: {"name": "Jack", "age": 30, "city": "New York"}
示例2:自定义编码方式
import json
class Student:
def __init__(self, name, age):
self.name = name
self.age = age
def toJSON(self):
return {"name": self.name, "age": self.age}
s = Student("Jack", 30)
json_str = json.dumps(s, default=lambda obj: obj.toJSON())
print("Python对象:", s.__dict__)
print("JSON字符串:", json_str)
输出结果:
Python对象: {'name': 'Jack', 'age': 30}
JSON字符串: {"name": "Jack", "age": 30}
loads()方法
loads()方法将JSON格式的字符串解码成Python对象,它接受一个JSON格式的字符串作为输入,返回一个Python对象。
示例3:将JSON字符串解码成Python字典对象
import json
json_str = '{"name": "Jack", "age": 30, "city": "New York"}'
obj = json.loads(json_str)
print("JSON字符串:", json_str)
print("Python字典对象:", obj)
输出结果:
JSON字符串: {"name": "Jack", "age": 30, "city": "New York"}
Python字典对象: {'name': 'Jack', 'age': 30, 'city': 'New York'}
示例4:自定义解码方式
import json
class Student:
def __init__(self, name, age):
self.name = name
self.age = age
@staticmethod
def fromJSON(json_str):
data = json.loads(json_str)
return Student(data["name"], data["age"])
json_str = '{"name": "Jack", "age": 30}'
s = json.loads(json_str, object_hook=Student.fromJSON)
print("JSON字符串:", json_str)
print("Python对象:", s.__dict__)
输出结果:
JSON字符串: {"name": "Jack", "age": 30}
Python对象: {'name': 'Jack', 'age': 30}
以上就是Python3内置模块之json编解码方法小结的详细攻略。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python3内置模块之json编解码方法小结【推荐】 - Python技术站