Python---json模块

json模块提供的方法,可以直接将python基本数据类型序列化为json字符串。
也可以将json字符串转为python的基本数据类型。

import json
dict1 = {"name":"韩梅梅","age":19,"sex":True}
print(json.dumps(dict1))
>>>{"name": "\u97e9\u6885\u6885", "age": 19, "sex": true}

json不能直接转化对象:

import json

class Card:
    def __init__(self, cardnum, password, money, lock=False):
        self.cardnum = cardnum
        self.password = password
        self.money = money
        self.lock = lock

def obj2dict(card):
    return {"cardnum":card.cardnum,"password":card.password,"money":card.money,"lock":card.lock}

def dict2obj(d1):
    return Card(d1["cardnum"],d1["password"],d1["money"],d1["lock"])

card = Card("101110", "111", 10000)
card2 = Card("101112", "111", 10000)
card3 = Card("101113", "111", 10000)
cardlist = [card, card2, card3]

with open("jsondemo.txt","w",encoding="utf-8") as f:
    jstr = json.dumps(cardlist, default=obj2dict)
    f.write(jstr)

with open("jsondemo.txt","r",encoding="utf-8") as f2:
    obj = json.loads(f2.read(),object_hook=dict2obj)

 

json.dumps(obj,default)

obj:被序列化的对象
default:函数,将对象转为字典的函数
功能:将对象序列化为json字符串

json.loads(s,object_hook)
参数一:字符串
参数二:将字典转为对象的函数
功能:将字符串反序列化成对象

 

json.dump(obj,f,default)
obj:被序列化的对象
f:打开的文件对象
default:函数,将对象转为字典的函数
功能:将对象序列化为json字符串并且写入到打开的文件对象中


json.load(f,object_hook)
参数一:打开的文件对象
参数二:将字典转为对象的函数
功能:将打开的文件对象的内容读取并且反序列化成对象


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值