【发布时间】:2019-03-14 09:52:50
【问题描述】:
.proto文件生成的.pb.go文件中的struct多了三个字段和一些其他的东西。像这样:
将此struct转换为json时,如果有一个字段为空,则该字段不会出现在json中。现在我知道它可以使用 jsonpb.Marshaler 来完成。
m := jsonpb.Marshaler{EmitDefaults: true}
现在,我将 struct 转换为 map[string]interface{},放入 涌入数据库。我必须将 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"}
当我去掉这三个字段时,程序运行正常。这三个字段是自动生成的,我有很多结构体。 我该怎么办?谢谢!
【问题讨论】:
标签: go protocol-buffers grpc protoc grpc-go