java - how can I define a map accept different kind of value in thrift? -
i define struct thrift:
struct querysetrecord { 1:string recordid, 2:string crawlername, 3:string recordtype, 4:map<string,string> datamap, 5:i16 priority, }
the problem datamap
, not want accept string
value, may still want accept list
or map
, such map<string, list<string>> datamap
. in other words, want type root object
in java, object
in python
can this?
you have create own object
, list possible classes in it.
union object { 1: string str; 2: i32 number32; }
(as i'm not sure how union implementation works in langs i'd go struct fields optional)
struct object { 1: optional string str; 2: optional i32 number32; }
and then: map<string, object>
in thrift can't create 'accept all' field, not portable across languages, , that's 1 of key functionalities of thrift.
Comments
Post a Comment