我有一个json
要反序列化的文件。这是文件的结构:
{ "functions":[
{
"name": "Generate Random Numbers To File",
"function": "generateRandomNumbersToFile",
"description": "Generates a file containing randomly generated numbers",
"parameters": {
"args": [
{
"name": "length",
"value": 100
}
],
"kwargs": [
{
"name": "min_value",
"value": 2
},
{
"name": "max_value",
"value": 4
}
]
}
}
]}
我在某些字段的反序列化方面遇到问题。我知道name
,function
和description
将是strings
但 的value
可能parameters
是int
在这种情况下或string
如果它是一条路径。
这就是我的序列化程序现在的样子:
import colander
class Arg(colander.MappingSchema):
name = colander.SchemaNode(colander.String())
value = colander.SchemaNode() # <----- What should I put here?
class Kwarg(colander.MappingSchema):
name = colander.SchemaNode(colander.String())
value = colander.SchemaNode() # <----- What should I put here?
class Kwargs(colander.SequenceSchema):
kwarg = Kwarg()
class Args(colander.SequenceSchema):
arg = Arg()
class Paramteres(colander.MappingSchema):
args = Args()
kwargs = Kwargs()
class Function(colander.MappingSchema):
name = colander.SchemaNode(colander.String())
function = colander.SchemaNode(colander.String())
description = colander.SchemaNode(colander.String())
paramteres = Paramteres()
class Functions(colander.SequenceSchema):
function = Function()
我有一种感觉,我的方法可能在团队中是错误的,或者我错过了一些东西。我在漏勺网站上找不到关于这个“未知类型”问题的任何信息