5
我似乎無法找到一種方法來驗證protobuf消息中的字段的值,而不顯式調用其getter。檢查protobuf消息 - 如何按名稱獲取字段值?
我看到了一些使用Descriptors.FieldDescriptor
實例到達消息映射內部的例子,但它們要麼是基於迭代器的,要麼是由字段編號驅動的。
一旦我有地圖:
Map<Descriptors.FieldDescriptor, Object> allFields = myMsg.getAllFields();
我怎麼能得到場"fieldXyz"
的價值?
我知道我可以使用myMsg.getFieldXyz()
,但這不能以系統的方式使用。
如果無法通過名稱訪問字段值,我想知道這個選擇背後的基本原理。我可能仍然需要了解protobuf「哲學」:-)
這是一個有希望的方向。我如何知道應該將哪個Java類投入到該對象中?看看API,我只能看到返回'JavaType','Type'和類似的方法。 –