gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 01:47:08 25 4
gpt4 key购买 nike

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

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

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

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

目前我的工作流程如下。

open_file = open(path, 'r') 
json_load = json.load(open_file) # this returns a list
return set(json_load) # which I am then converting to a set.

有没有办法做这样的事情?

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

还有没有其他方法可以在没有 json 模块的情况下完成此操作?当然,我不是第一个需要一套解码器的人。

最佳答案

没有。您必须对 json 模块类之一进行子类化 JSONDecoder 并重写创建对象的方法,才能自己完成此操作。

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

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

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

关于python - python中将json数组直接反序列化为集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51192417/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com