python对象转化json

json的api有下面4个:
json.loads() 将json转换为dict
json.dumps() 将dict转换为json
json.load() 将json文件转换为dict
json.dump() 将dict转换为json文件

类和json的转化

import json

class User:
    def __init__(self,name,password):
        self.name = name
        self.password = password
    def __str__(self):
        return self.name+" "+self.password

#类转json_1 json.dumps()
user = User("fengmq1","12345678");
person_json = json.dumps(user.__dict__)
print('person json:', person_json)

#类转json_2 json.dumps()
def convert2json(person):
  return {
    'name': person.name,
    'password': person.password
  }
user = User("fengmq2","12345678");
person_json = json.dumps(user, default=convert2json)
print('person json:', person_json)

#json转类1 json.loads()将json转化成字典,类需要我们自己构造。
def convert2json(dict_json):
  return User(dict_json['name'], dict_json['password'])
person = json.loads('{"name": "fengmq3", "password": "123456"}', object_hook=convert2json)
print('person:', person)

执行结果:
在这里插入图片描述
字典和类的转化:

import json

#字典转json
user={"name": "冯明强", "password": "12345678"}
print(type(user),":", user)
user_json = json.dumps(user,ensure_ascii=False) # 转换为json ,默认转成json后中文是乱码,加入ensure_ascii=False
print(type(user_json),":", user)

#json转字典
user_json='{"name": "fengmq2","password":"12345678"}'
print(type(user_json),":", user_json)
user = json.loads(user_json)
print(type(user),":", user)

在这里插入图片描述

dict 保存为json文件,和读取json文件为dict

import json

user = {"name": "冯明强", "password": "12345678"}
with open('user.json', 'w') as f:
 	 json.dump(user, f,ensure_ascii=False)

import json
with open('user.json', 'r') as f:
 	 dict=json.load(f)
print(dict)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值