2014-12-29 65 views
1

我有一個動態protobuf消息,我不知道此消息包含哪些字段。遍歷所有字段並獲得它們的值protobuf消息

我想要做的是,把所有字段的所有值轉換成一個字符串,例如,該消息包含2場,string name = "Jack";int age = 12;,最後的結果我想是"name:Jack, age:12"

這是我的想法,因爲我不知道此消息中包含的字段,所以我需要遍歷消息以獲取所有字段的名稱,類型(可以通過Descriptor訪問),然後獲取每個字段的值,這是最討厭的部分,因爲我需要寫一個長

switch (type) { 
case TYPE_UINT32: 
    //call get_uint32 
    break; 
case TYPE_UINT64: 
    //call get_uint64 
    break; 
...... 
} 

我不知道有沒有其他更好的辦法做到這一點?

回答

相關問題