字典定义:dict是python中常用的数据类型,通过关键字索引,关键字可以是任意不可变类型,通常是字符串或者值,如果只包含字符串和数字,可以作为key.理解字典的最好方法是将其视为不需要使用的键值对(key:value)的集合。密钥必须是唯一的。json(JavaScrtpt对象表示法):由RFC7159(废弃RFC4627)和ECMA-404指定,是一种受JavaScript对象文字语法启发的轻量级数据交换格式。字典到json字符串:转储:将_obj_序列化为JSON格式的[`str`]。importjsontest_dict={'name':'tfz','age':18,'sex':'male'}dict_to_json_str=json.dumps(test_dict)print(dict_to_json_str)#{"name":"tfz","age":18,"sex":"male"}print(type(dict_to_json_str))#将obj序列化为JSON格式的流输出到fpimportjsontest_dict={'name':'tfz','age':18,'sex':'male','Chinese':'value'}withopen("./tfz.json",mode="w",encoding='utf-8')asf:json.dump(test_dict,f,ensure_ascii=False)读取json文件并将其转换为json对象"""Willfp(a[textfile]thatsupports`.read()`andcontainsaJSONdocumentor[binaryfile]到Python对象。"""使用open('./tfz.json',mode='r',encoding='utf-8')导入json作为fp:json_obj=json.load(fp)print(json_obj)print(type(json_obj))序列化s(a[str],[bytes])or[bytearray]instancecontainingaJSONdocument)forpythonobjectimportjsontest_dict=[{'name':'tfz','age':18,'sex':'male','Chinese':'value'}]json_str=json.dumps(test_dict,ensure_ascii=False)js=json.loads(json_str,encoding='utf-8')print(js)print(type(js))#序列化一个实例对象importjsonclassComputer(object):def__init__(self,name,price):self.name=nameself.price=pricedefserialize_instance(obj):d={'__class_name__':type(obj).__name__}d.update(vars(obj))returndcomputer=Computer("tfz",10086)c=json.dumps(computer,default=serialize_instance)print(c)获取序列化实例对象classes={"计算机”:计算机}defunserialize_instance(d):cls_name=d.pop('__class_name__',None)ifcls_name:_cls=classes[cls_name]#创建实例而不调用__init__obj=_cls.__new__(_cls)forkey,valueind.items():setattr(obj,key,value)returnobjelse:returndunserialize_c=json.loads(c,object_hook=unserialize_instance)打印(unserialize_c)打印(类型(unserialize_c))