.proto文件生成的.pb.go文件中的struct有三个额外的字段和一些其他的东西。像这样:
将此struct转换为json时,如果一个字段为空,则该字段不会出现在 json 中。现在我知道可以使用jsonpb.Marshaler来完成。
m := jsonpb.Marshaler{EmitDefaults: true}
现在,我将struct转换为map[string]interface{},将其放入 InfluxDB。我必须将 struct 转换为 map[string]interface{}。NewPoint需要的函数。像这样:
我在 go 中使用了 structs.Map(value)函数,转换后的 map 多了三个字段,运行程序会报错,像这样:
{"error":"unable to parse 'txt,severity=1 CurrentValue=\"1002\",MetricAlias=\"CPU\",XXX_sizecache=0i,XXX_unrecognized= 1552551101': missing field value"}
当我删除这三个字段时,程序运行正常。这三个字段是自动生成的,我有很多结构。我该怎么办?谢谢!