JSON 模式的 Thrift 结构等效项
Thrift Struct equivalent for the JSON Schema
说,我想获得等效的 Thrift Struct 以跟随
{
"xyz": {
"oneOf": [
{
"type": "null"
},
{
"type": "object",
"properties": {
"abd": {
"type" :"string"
},
"dfs": {
"type": "string",
}
}
}
]
}
}
所以,这里有一个结构体 xyz,它可以为空,也可以有两个属性 "abd" 和 "dfs"。我考虑过为此目的使用 union,但问题是我必须为 "abd" 和 "dfs" 创建对象。所以,它会是这样的:-
union XYZ {
1: SomeStruct someStruct
}
struct SomeStruct {
1: optional string abd
2: optional string dfs
}
现在,问题在于它现在期望有一些密钥 "someStruct" 它应该进入 xyz。因此这与我需要的不完全相同。
有人可以建议一些好的方法吗?
据我了解,"oneOf" 的两种情况指的是 xyz 可能是什么:null
,或具有一些(可选)数据的非空有效实例。
struct XYZ {
1: optional string abd
2: optional string dfs
}
struct UsesXyz {
1: optional Xyx
}
null
的情况是 UsesXyz
的实例不设置成员。也就是说,Xyz的declaration没有体现null
的情况,而是used.
说,我想获得等效的 Thrift Struct 以跟随
{
"xyz": {
"oneOf": [
{
"type": "null"
},
{
"type": "object",
"properties": {
"abd": {
"type" :"string"
},
"dfs": {
"type": "string",
}
}
}
]
}
}
所以,这里有一个结构体 xyz,它可以为空,也可以有两个属性 "abd" 和 "dfs"。我考虑过为此目的使用 union,但问题是我必须为 "abd" 和 "dfs" 创建对象。所以,它会是这样的:-
union XYZ {
1: SomeStruct someStruct
}
struct SomeStruct {
1: optional string abd
2: optional string dfs
}
现在,问题在于它现在期望有一些密钥 "someStruct" 它应该进入 xyz。因此这与我需要的不完全相同。
有人可以建议一些好的方法吗?
据我了解,"oneOf" 的两种情况指的是 xyz 可能是什么:null
,或具有一些(可选)数据的非空有效实例。
struct XYZ {
1: optional string abd
2: optional string dfs
}
struct UsesXyz {
1: optional Xyx
}
null
的情况是 UsesXyz
的实例不设置成员。也就是说,Xyz的declaration没有体现null
的情况,而是used.