Python对象和JSON之间的互相转换是Web开发中经常使用的操作。这里提供两种方法,帮助你完成Python对象和JSON之间的转换。
方法一:使用Python内置的json模块
Python内置的json模块可以方便地将Python对象转换为JSON格式,反之同样适用。
- 将Python对象转换为JSON:使用
json.dumps()
函数,该函数接收一个Python对象,并返回一个对应的JSON字符串。例如:
import json
data = {'name': 'Bob', 'age': 30}
json_str = json.dumps(data)
print(json_str)
# 输出结果为:{"name": "Bob", "age": 30}
- 将JSON字符串转换为Python对象:使用
json.loads()
函数,该函数接收一个JSON字符串,并返回对应的Python对象。例如:
json_str = '{"name": "Bob", "age": 30}'
data = json.loads(json_str)
print(data)
# 输出结果为:{'name': 'Bob', 'age': 30}
方法二:使用第三方库jsonpickle
jsonpickle是一个功能强大、易于使用的Python模块,可以将任意Python对象序列化为JSON格式,并且可以还原为原始Python对象。
- 将Python对象转换为JSON:使用
jsonpickle.encode()
函数,该函数接收一个Python对象,并返回一个对应的JSON字符串。例如:
import jsonpickle
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
person = Person('Bob', 30)
json_str = jsonpickle.encode(person)
print(json_str)
# 输出结果为:{"py/object": "__main__.Person", "age": 30, "name": "Bob"}
- 将JSON字符串转换为Python对象:使用
jsonpickle.decode()
函数,该函数接收一个JSON字符串,并返回对应的Python对象。例如:
json_str = '{"py/object": "__main__.Person", "age": 30, "name": "Bob"}'
person = jsonpickle.decode(json_str)
print(person.name, person.age)
# 输出结果为:Bob 30
以上就是使用Python对象和JSON相互转换的两种方法和示例,希望对你有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python对象与json相互转换的方法 - Python技术站