2016-03-27 5 views
0

Ich bin neu in Scala und ich denke daran, mit Protobuf einige Daten zu übergeben. In den Daten gibt es jedoch einige gemeinsame Werte für verschiedene Elemente. Die Daten in JSON könnte wie folgt aussehen:Interne Referenz in Protobuf?

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

Ich hoffe, eine Lösung zu finden, nicht irgendwie dupliziert commonobject. Ich frage mich, ob es eine interne Referenz in Protobuf gibt, wie $ Ref in JSON-Schema.

Danke für die Hilfe!

Antwort

1

Protobuf-Nachrichten können keine Referenzen speichern. Sie können eine Objekt-ID speichern, um auf allgemeine Objekte zu verweisen.

+0

Danke. Im Grunde muss ich einen zusätzlichen Schritt hinzufügen, um eine Referenzkorrektur manuell durchzuführen, richtig? – ann

+0

Ja. Wenn Ihre gemeinsamen Objekte statisch sind, dann ist protobuf 'enum' praktisch, um dies zu implementieren. Andernfalls sollten Sie relationale Datenbanklösungen in Betracht ziehen. – kliew