quintodrome/utils/mapping.go

31 lines
527 B
Go
Raw Normal View History

2016-02-27 20:55:36 -09:00
package utils
import (
"encoding/json"
)
func ToMap(rec interface{}) (map[string]interface{}, error) {
2016-02-27 20:55:36 -09:00
// Convert to JSON...
2016-03-02 09:18:39 -09:00
b, err := json.Marshal(rec)
2016-02-27 20:55:36 -09:00
if err != nil {
return nil, err
}
// ... then convert to map
var m map[string]interface{}
err = json.Unmarshal(b, &m)
return m, err
}
2016-02-28 09:50:05 -09:00
func ToStruct(m map[string]interface{}, rec interface{}) error {
// Convert to JSON...
2016-03-02 09:18:39 -09:00
b, err := json.Marshal(m)
if err != nil {
2016-02-28 09:50:05 -09:00
return err
}
2016-02-28 09:50:05 -09:00
// ... then convert to struct
err = json.Unmarshal(b, &rec)
2016-02-28 09:50:05 -09:00
return err
}