json对象转字典存储

json的用法

json的数据转换

将对象转为字典

1.这是可以实现一行一行读取的发方法,文件大的时候就需要用到这种方法

import json

class Dict():
	
	def __init__(self,name,age):
		self.name = name
		self.age = age

def d2dict(d):
	return {'name':d.name,'age':d.age}
if __name__ == '__main__':
	d = Dict('进杰',18)
	with open('1.text','w',encoding='utf-8') as f:
		str1 = json.dumps(d, default=d2dict,ensure_ascii=False)
         f.write(str1)

2.这个是一下子读取完.write方法都不用写

import json

class Dict():
	
	def __init__(self,name,age):
		self.name = name
		self.age = age

def d2dict(d):
	return {'name':d.name,'age':d.age}
if __name__ == '__main__':
	d = Dict('进杰',18)
	    with open('1.text', 'w',encoding="utf-8") as f:
    		json.dump(d, f, default=d2dict,ensure_ascii=False)

将字典转为对象

import json

class Dict():

    def __init__(self, name, age):
        self.name = name
        self.age = age


def dict2d(d):
    return Dict(d['name'],d['age'])

if __name__== '__main__':
    with open('1.text','r') as f:
        obj =json.loads(f.read(), object_hook=dict2d)
        print(obj)
        #for line in f.readlines():当f里面有多个对象时,分行阅读
            #obj = json.loads(line, object_hook=dict2a)
            #print(obj)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章