将json数组直接反序列化为python中的集合

2024-04-19 18:02:13 发布

您现在位置:Python中文网/ 问答频道 /正文

有没有办法直接将json数组反序列化为一个集合?

在数据.json(是的,这只是一个json数组。)

["a","b","c"]

注意包含唯一json数组的json元素。

目前我的工作流程如下。

^{pr2}$

有没有办法做这种事?

open_file = open(path, 'r') 
return json.load(open_file, **arguments) # this returns a set.

还有没有其他方法可以在没有json模块的情况下实现呢?当然我不是第一个需要解码器的人。


Tags: 数据pathjson元素return序列化load数组
1条回答
网友
1楼 · 发布于 2024-04-19 18:02:13

不,您必须将其中一个json模块类JSONDecoder子类化并重写创建该对象的方法,才能自己完成。在

这也不值得费心。json数组实际上映射到python中的列表—它们有顺序,并且允许重复—集合不能正确表示json数组。因此,json解码器的工作不是提供一个集合。在

转换是你能做的最好的。您可以创建一个函数,并在需要时调用它:

def json_load_set(f):
    return set(json.load(f))

相关问题 更多 >