2016-07-25 3 views
0

У меня есть словарь в Python. Из того, что я понимаю, Thrift допускает только строго типизированную карту map<type1, type2>. Однако значения Python не всегда одного типа.Словарь Различные типы данных Apache Thrift

dict = {'id':1, 
     'text': 'some text', 
     'active': None} 

Я хочу передать эту структуру в мой .thrift файл

void submit_record(1: i32 id, 2: i32 time, 3: map<string, varying>) 

Есть ли способ сделать это?

ответ

0

Используйте бережливость union, или struct:

union varying { 
    1 : double dbl 
    2 : i32 int // or maybe i64 
    3 : string str 
} 

Дальнейшее чтение:

+0

Это позволит мне использовать словари, которые имеют различные значения ? Например, мой примерный словарь выше. – Dylan

+0

Да, именно поэтому я назвал объединение «переменным» сразу после вашего примера. Разумеется, это может иметь и другое название. Каждый союз имеет только одно полевое множество. Это текущее значение. – JensG

Смежные вопросы