赞
踩
Defult=自写函数
Object_hook = 自写函数
将集合转化为json格式字符串。
原理:就是把set模式写一个函数func转换为其他模式,这里转换成字典模式。
通过
json.dumps(c,default=changeSet_toDict)
中的defult参数(这个参数调用func)执行这个转换得到结果XXXX。
然后dumps执行转换将XXXX转换成json格式的str
下面是例子。
当然你可以写成其他形式。其主要问题在于你写一个将set转换成其他格式的函数func。对于其他不能转换的格式,自己写其他函数进行转换,原理一致。
而解除json格式的逆操作,通过json.loads(result_1_3,object_hook=dict_backtoSet)
Object_hook参数操作。操作同defult参数的函数
c = {1, 4, 'a', 'd', 'from'}
def changeSet_toDict(set):
dict = {}
for i in set:
dict[i] = ''
return dict
def dict_backtoSet(dict):
# set1=set()
# for k,v in dict.items():
# set1.add(k)
set1 = set(list(dict.keys()))
return set1
#测试代码
# a_1 = {"haha":1,"hh":2}
# print(type(a_1))
# a_set = dict_backtoSet(a_1)
# print(a_set)
result_1_3 = json.dumps(c,default=changeSet_toDict)
print(type(result_1_3))
print(json.loads(result_1_3,object_hook=dict_backtoSet))
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。