Попробуйте использовать float64
, чтобы уменьшить широту и долготу.Так как они не строки.Следовательно, показывая ошибку при демаршаллинге.Измените Coordinates
struct на
type Coordinates struct {
Latitude float64 `json:"lat"`
Longitude float64 `json:"lng"`
}
Проверьте рабочий код на Go Playground
Для получения дополнительной информации об Umarshal, а также о типах, которые можно использовать.Пройдите Golang Spec для JSON unmarshal
Вы также можете использовать interface{}
, если вы не знаете формат вашей структуры.
Чтобы демаршировать JSONв значение интерфейса Unmarshal сохраняет одно из них в значении интерфейса:
bool, for JSON booleans
float64, for JSON numbers
string, for JSON strings
[]interface{}, for JSON arrays
map[string]interface{}, for JSON objects
nil for JSON null