2016-03-27 50 views
0

我是新來的scala,我正在考慮使用protobuf來傳遞一些數據。但是,在數據中,不同項目之間有一些共同的值。在JSON數據可能是這樣的:protobuf的內部參考?

[ 
    { 
    "id" : "1", 
    "value" : { 
     "field1" : "f1value.1", 
     "field2" : "f2value.1", 
     "field3": commonobject 
    } 
    }, 
    { 
    "id" : "2", 
    "value" : { 
     "field1" : "f1value.2", 
     "field2" : "f2value.2", 
     "field3": commonobject 
    } 
    } 
] 

我希望能找到一個解決方案不以某種方式複製commonobject。我想知道protobuf中是否有內部引用,例如JSON模式中的$ ref。

感謝您的幫助!

回答

1

protobuf消息不能存儲引用。您可以存儲一個對象id來引用通用對象。

+0

謝謝。基本上,我需要添加一個額外的步驟來手動執行參考修正,正確嗎? – ann

+0

是的。如果你的公共對象是靜態的,那麼protobuf'enum'將很方便實現這個。否則,您可能需要考慮關係數據庫解決方案。 – kliew