Я недоумеваю. Когда я POST с помощью следующего телаGo - чувствительный к регистру?
{"lng":1.23, "lat":4.56,"utc":789}
она возвращает {0,0,0} (неверно)
func test(rw http.ResponseWriter, req *http.Request) {
type data struct {
lng float64
lat float64
utc int
}
decoder := json.NewDecoder(req.Body)
var t data
err := decoder.Decode(&t)
if err != nil {
panic("PANIC")
}
log.Println(t)
}
Это один возвращает {1,23, 4,56, 789} (правильный)
func test(rw http.ResponseWriter, req *http.Request) {
type data struct {
Lng float64
Lat float64
Utc int
}
decoder := json.NewDecoder(req.Body)
var t data
err := decoder.Decode(&t)
if err != nil {
panic("PANIC")
}
log.Println(t)
}
Единственное различие заключается в том, что я использую буквы верхнего регистра в определении моей структуры. Я что-то упустил? Это ошибка?
См. Связанные вопросы: [1] (http://stackoverflow.com/questions/26327391/golang-json-marshalstruct-returns/26327436), [2] (http://stackoverflow.com/questions/26050469/ json-unmarshall-not-working-proper/26050501), [3] (http://stackoverflow.com/questions/25595096/unmarshalling-json-golang-not-working/25595269). –