请看这个
.json
结构:
[
{
"name": "blabla1",
"value": "1"
},
{
"name": "blabla2",
"value": "2"
},
{
"name": "blabla3",
"value": "3"
}
]
我有简单的课程:
@dataclass
class Data:
name: str = field(init=True)
value: str = field(init=True)
is_valid: bool = field(init=False, default=True)
我想阅读这个文件并创建这个数据类的列表。
这是我尝试过的:
v = ...
这个
包含词典列表(根据我这里的例子3)v
data = [[(Data(name=k, value=v, is_valid=True)) for k, v in v.items()] for d in v]
这里的结果是
list
的 7 个数据 types
但对于此列表中的每个项目,我还有另一个包含 2 个数据的项目列表 type
添加 JSON 文件并返回数据对象列表。每个对象都是通过传递 JSON 文件中相应字典中的名称和值字段来创建的。 is_valid 字段默认设置为 True:
@dataclass
class Data:
name: str
value: str
is_valid: bool = True
def read_json_file(file_path: str) -> List[Data]:
with open(file_path, 'r') as f:
data = json.load(f)
return [Data(d['name'], d['value']) for d in data]