重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这期内容当中小编将会给大家带来有关使用Python怎么实现Json的序列化与反序列化,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
“专业、务实、高效、创新、把客户的事当成自己的事”是我们每一个人一直以来坚持追求的企业文化。 创新互联公司是您可以信赖的网站建设服务商、专业的互联网服务提供商! 专注于网站设计、成都网站设计、软件开发、设计服务业务。我们始终坚持以客户需求为导向,结合用户体验与视觉传达,提供有针对性的项目解决方案,提供专业性的建议,创新互联建站将不断地超越自我,追逐市场,引领市场!1、Json序列化如下:
import json print (json.__all__) #查看json库的所有方法 ['dump', 'dumps', 'load', 'loads', 'JSONDecoder', 'JSONEncoder']
未在dumps函数中添加参数ensure_ascii=False,结果如下:
#coding: utf-8 import json dict = {'name':'zhangsan', 'age':33, 'address':'红星路'} print('未序列化前的数据类型为:', type(dict)) print('为序列化前的数据:', dict) #对dict进行序列化的处理 dict_xu = json.dumps(dict) #直接进行序列化 print('序列化后的数据类型为:', type(dict_xu)) print('序列化后的数据为:', dict_xu)
未序列化前的数据类型为:
为序列化前的数据: {'name': 'zhangsan', 'address': '红星路', 'age': 33}
序列化后的数据类型为:
序列化后的数据为: {"name": "zhangsan", "address": "\u7ea2\u661f\u8def", "age": 33}
在dumps函数中添加参数ensure_ascii=False,结果如下:
#coding: utf-8 import json dict = {'name':'zhangsan', 'age':33, 'address':'红星路'} print('未序列化前的数据类型为:', type(dict)) print('为序列化前的数据:', dict) #对dict进行序列化的处理 dict_xu = json.dumps(dict,ensure_ascii=False) #添加ensure_ascii=False进行序列化 print('序列化后的数据类型为:', type(dict_xu)) print('序列化后的数据为:', dict_xu)
未序列化前的数据类型为:
为序列化前的数据: {'address': '红星路', 'age': 33, 'name': 'zhangsan'}
序列化后的数据类型为:
序列化后的数据为: {"address": "红星路", "age": 33, "name": "zhangsan"}
2、Json反序列化如下:
#coding: utf-8 import json dict = {'name':'zhangsan', 'age':33, 'address':'红星路'} print('未序列化前的数据类型为:', type(dict)) print('为序列化前的数据:', dict) #对dict进行序列化的处理 dict_xu = json.dumps(dict,ensure_ascii=False) #添加ensure_ascii=False进行序列化 print('序列化后的数据类型为:', type(dict_xu)) print('序列化后的数据为:', dict_xu) #对dict_xu进行反序列化处理 dict_fan = json.loads(dict_xu) print('反序列化后的数据类型为:', type(dict_fan)) print('反序列化后的数据为: ', dict_fan)
未序列化前的数据类型为:
为序列化前的数据: {'name': 'zhangsan', 'age': 33, 'address': '红星路'}
序列化后的数据类型为:
序列化后的数据为: {"name": "zhangsan", "age": 33, "address": "红星路"}
反序列化后的数据类型为:
反序列化后的数据为: {'name': 'zhangsan', 'age': 33, 'address': '红星路'}
在实际的工作中,序列化或者反序列化的可能是一个文件的形式,不可能像如上写的那样简单的,下来就来实现这部分,把文件内容进行序列化和反序列化,先来看序列化的代码,两步操作:1、先序列化 列表对象 ;2、步把序列化成的字符串写入文件:
#coding: utf-8 import json list = ['Apple','Huawei','selenium','java','python'] #把list先序列化,写入到一个文件中 # 两步操作 1步先序列化 列表对象 2步把序列化成的字符串写入文件 json.dump(list, open('e:/test.txt','w')) r1=open('e:/test.txt','r') print(r1.read())
["Apple", "Huawei", "selenium", "java", "python"]
反序列化,两步操作:1、先读取文件的字符串对象;2、然后反序列化成列表对象:
#coding: utf-8 import json list = ['Apple','Huawei','selenium','java','python'] #把list先序列化,写入到一个文件中 # 两步操作 1步先序列化 列表对象 2步把序列化成的字符串写入文件 json.dump(list, open('e:/test.txt','w')) r1=open('e:/test.txt','r') print(r1.read()) #------------------------------------------------------------ #两步操作:1、先读取文件的字符串对象;2、然后反序列化成列表对象 res=json.load(open('e:/test.txt','r')) print (res) print('数据类型:',type(res))
["Apple", "Huawei", "selenium", "java", "python"]
['Apple', 'Huawei', 'selenium', 'java', 'python']
数据类型:
上述就是小编为大家分享的使用Python怎么实现Json的序列化与反序列化了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注创新互联成都网站设计公司行业资讯频道。
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。