struct в файле .pb.go , сгенерированном файлом .proto , имеет три дополнительных поля и некоторые другие вещи, например:
![enter image description here](https://i.stack.imgur.com/Snz1c.png)
При преобразовании этой struct в json , если одно поле пусто, поле не будет отображаться в json. Теперь я знаю, что это можно сделать с помощью jsonpb.Marshaler .
m := jsonpb.Marshaler{EmitDefaults: true}
Теперь я покрываю struct до map [string] interface {} , вставьте его в
InfluxDB . Мне нужно преобразовать struct в map [string] interface {}. Нужна функция NewPoint . как это:
![enter image description here](https://i.stack.imgur.com/E1rL7.png)
![enter image description here](https://i.stack.imgur.com/OS4L4.png)
Я использую structs.Map (значение) Функция Go, Преобразованная карта имеет три дополнительных поля, и запуск программы вызывает ошибки ,, например:
{"error":"unable to parse 'txt,severity=1 CurrentValue=\"1002\",MetricAlias=\"CPU\",XXX_sizecache=0i,XXX_unrecognized= 1552551101': missing field value"}
Когда я удаляю эти три поля, программа запускается ОК. Эти три поля генерируются автоматически, и у меня много структур.
Что мне делать? Спасибо!