.protoファイルによって生成された.pb.goファイルの構造体には、3 つの追加フィールドと、次のようなその他の要素があります。
この構造体をjsonに変換するとき、1 つのフィールドが空の場合、そのフィールドは json に表示されません。これで、 jsonpb.Marshalerを使用して実行できることがわかりました。
m := jsonpb.Marshaler{EmitDefaults: true}
今、私は構造体をmap[string]interface{}に変換し、 InfluxDBに入れ ます。構造体を map[string]interface{} に変換する必要があります。関数NewPointが必要です。このような:
go でstructs.Map(value)関数を使用します。変換されたマップには 3 つの追加フィールドがあり、プログラムを実行すると次のようなエラーが発生します。
{"error":"unable to parse 'txt,severity=1 CurrentValue=\"1002\",MetricAlias=\"CPU\",XXX_sizecache=0i,XXX_unrecognized= 1552551101': missing field value"}
これらの 3 つのフィールドを削除すると、プログラムは正常に実行されます。これらの 3 つのフィールドは自動的に生成され、多くの構造体があります。どうすればいいですか?ありがとうございます!