我用 thrift 定义了一个结构:
struct QuerySetRecord {
1:string recordId,
2:string crawlerName,
3:string recordType,
4:map<string,string> dataMap,
5:i16 priority,
}
问题是dataMap
,我不仅要接受string
值,我可能还是想接受List
or Map
, 例如map<string, list<string>> dataMap
。换句话说,我想要一个像 root 这样的类型Object
在爪哇语中,object
在Python中
我可以这样做吗?
你必须创建自己的Object
并列出其中所有可能的类。
union Object {
1: string str;
2: i32 number32;
}
(因为我不确定联合实现如何在所有语言中工作,所以我会使用所有字段可选的结构)
struct Object {
1: optional string str;
2: optional i32 number32;
}
进而:map<string, Object>
在 Thrift 中,您无法创建“接受所有”字段,因为它无法完全跨语言移植,而这是 Thrift 的关键功能之一。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)