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;
......
}
我不知道有沒有其他更好的辦法做到這一點?