どのようにプロトコルバッファを使用して地図のをエンコードするのでしょうか?

StackOverflow https://stackoverflow.com/questions/1102900

  •  12-09-2019
  •  | 
  •  

質問

私は<使用しようとしているのhref = "http://www.google.de/url?sa=t&source=web&ct=res&cd=1&url=http%3A%2F%2Fcode.google.com%2Fp% 2Fprotobuf%2F&EI = jrBVStaVC5vcmgO9m93dCQ&USG = AFQjCNEH5XQOuk2HkPhnqqJRXpNgRAOWdQ&SIG2 = UttuiLusS0zx5cbmEYa76w」RELは= "noreferrer">メッセージのシリアル化のためのプロトコルバッファの

私のメッセージ・フォーマットは、Map <文字列、オブジェクト>のエントリが含まれている必要があります...しかし、どのように私は.proto定義を書くのですか?

私の知る限りでは、プロトコルバッファは、ビルドインマップタイプを持っていません。私は繰り返しフィールドを使用していることを周りにモデル化することができます。しかし、私が持っている大きな問題は、あなたがすべてのあなたのタイプを定義する必要があること、です。私は私のメッセージが柔軟になりたいので、私は種類を指定することはできません。

任意のアイデア?

役に立ちましたか?

解決

私は、キーと値(値は可能性がタイプごとに、おそらく1つの値フィールド)を持つタプルをモデル化すると思います。それからちょうどそのタプル型の繰り返しリストを持っています。あなたは、コード内でマップ自体を構築する必要があると思います。

あなたはタイプを指定することはできませんと言うとき - あなたが話しているタイプの種類を?あなたがタプルの各タイプのオプションフィールドを持っている場合は、それがすべてのプリミティブのために対処するだろう - 。あなたはをできたのバイト列にそれらをシリアル化することにより、マップメッセージ

これは、「unstructure」のレベルのように聞こえるあなたはしかしPBのために良いフィットではないかもしれない持っています。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top