本篇文章为你整理了Python对象转换为json的方法步骤(python把对象转化为字符串)的详细内容,包含有python对象类型转换 python把对象转化为字符串 python 对象转数组 python把object转换成int Python对象转换为json的方法步骤,希望能帮助你了解 Python对象转换为json的方法步骤。
Python中内置了json库,用起来超级方便,json现在以成为开发的必备。
python对象到json字符串的转换规则:
dict: {name: jack, age: 15, email: jack@litets.com}
json: {"name": "jack", "age": 15, "email": "jack@litets.com"}
json转换为dict
import json
person_dict = json.loads({"name": "jack", "age": 15, "email": "jack@litets.com"})
print(person dict:, person_dict)
输出:
person dict: {name: jack, age: 15, email: jack@litets.com}
类对象转换为json
import json
class Person:
def __init__(self, name, age, email):
self.name = name
self.age = age
self.email = email
json.dumps() 不能直接传递一个对象实例否则回报 TypeError: Object of type Person is not JSON serializable 错误 为了避免这个错误,我们需要修改:
import json
class Person:
def __init__(self, name, age, email):
self.name = name
self.age = age
self.email = email
# 将person转换为dict
def convert2json(person):
return {
name: person.name,
age: person.age,
email: person.email
person = Person(tom, 38, tom@litets.com)
# 第二个参数传递转换函数,或者使用default=lambda o: o.__dict__
person_json = json.dumps(person, default=convert2json)
print(person json:, person_json)
json转换为类对象
import json
class Person:
def __init__(self, name, age, email):
self.name = name
self.age = age
self.email = email
def convert2json(dict_json):
return Person(dict_json[name], dict_json[age], dict_json[email])
person = json.loads({"name": "tom", "age": 38, "email": "tom@litets.com"}, object_hook=convert2json)
print(person:, person)
输出:
person:
loads函数只能将json转换为字典,需要我们自己转换为对象。
dict/对象转换为json文件
import
person = {"name": "tom", "age": 38, "email": "tom@litets.com"}
with open(person.json, w) as f:
json.dump(person, f)
当前目录下会多一个person.json文件,内容是:
{"name": "tom", "age": 38, "email": "tom@litets.com"}
将json文件转换为dict/对象
import json
with open(person.json, r) as f:
print(json.load(f))
输出:
{name: tom, age: 38, email: tom@litets.com}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持考高分网。
以上就是Python对象转换为json的方法步骤(python把对象转化为字符串)的详细内容,想要了解更多 Python对象转换为json的方法步骤的内容,请持续关注盛行IT软件开发工作室。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。