У меня есть объект, который я получаю:
{
"operation": "ACC00000001",
"prm": "23597250350000",
"conso_prod": "Conso",
"index_name": "BASE",
"index_value": "123456",
"timestamp": "2019-08-20T22:00:00Z"
}
Используемый мной объект находится в общей библиотеке, поэтому он используется несколькими службами:
common.Measure:
type Measure struct {
Timestamp time.Time
Delta float64
Redistributed float64
IsProd bool
IndexValue uint32
IndexName string
Source string
}
и Meter:
type Meter struct {
ID string
Operation string
Unit string
Timestep time.Duration
Measures []Measure
}
Но поскольку метки не совпадают, я должен создать еще один объект MeasureFromJSON
, созданный на основе json, который я получаю.
type MeasureFromJSON struct {
Operation string `json:"operation" binding:"required"`
Prm string `json:"prm"`
Conso_prod string `json:"conso_prod"`
Index_name string `json:"index_name"`
Index_value string `json:"index_value"`
Timestamp string `json:"timestamp"`
}
Дело в том, что мне не нравится использовать 2 модели для одной и той же сущности, просто потому, что у меня нет меток JSON в общем объекте.Есть ли способ использовать общие модели (meter.Measure
)?