Мне нужно было создать прокси-сервер для подключения к веб-сервисам Google Maps, и я нашел учебник, который делает около 95% того, что мне нужно. Учебник использует golang, я почти полностью новичок в golang, и если я точно буду следовать ему, он отлично работает. Но в тот момент, когда я пытаюсь что-то изменить из учебника, я явно что-то напутал, смеется.
Проблема, которая мне сейчас нужна, заключается в том, что учебник анализирует только 2 переменные из ответа google-maps, широта и долгота. Для остальной части моего приложения мне ТАКЖЕ нужен идентификатор места.
Я получаю ответ от google-maps, не проблема. Если я проанализирую его как
type placeResults struct {
Results []struct {
Geometry struct {
Location struct {
Lat float64 `json:"lat"`
Lng float64 `json:"lng"`
} `json:"location"`
} `json:"geometry"`
} `json:"results"`
}
Он работает нормально и дает мне широту и долготу, не беспокойтесь.
Но если я вместо этого попробую,
type placeResults struct {
Results []struct {
Geometry struct {
Location struct {
Lat float64 `json:"lat"`
Lng float64 `json:"lng"`
} `json:"location"`
} `json:"geometry"`
id struct {
Id string `json:"id"`
}
} `json:"results"`
}
Это говорит мне:
json: невозможно разархивировать строку в Go поле структуры. Идентификатор типа struct {Id string "json: \" id \ ""}
Теперь переменная id не является частью геометрии, но является обобщенной c частью ответа, поэтому я решил, что это будет правильный синтаксис. Очевидно, я не прав. Но какой правильный синтаксис для включения этого?