структурами У меня есть следующий код:JSON маршализацию не работает, как ожидалось с
package main
import "encoding/json"
import "fmt"
type SuperNum struct {
num string
}
func main() {
byt := []byte(`{"num":"6.13"}`)
var dat SuperNum
if err := json.Unmarshal(byt, &dat); err != nil {
panic(err)
}
fmt.Printf("%+v", dat) // I expect this to have a `num` attribute
}
Выход:
{num:}
Program exited.
Вы можете запустить этот код in the golang playground.
Потому что я устанавливаю num
собственности в структурах и в формате JSON, и они обе строки, я бы ожидал, что dat
структуры иметь num
свойства, с 'hello'
, но это не так.
Что я делаю неправильно? Что в моей ментальной модели того, как это должно работать, неверно?
EDIT
Я попытался добавить json
подпись на структуры, но это не имеет никакого значения (понятия не имею, что это на самом деле делает).
type SuperNum struct {
num string `json:"num"`
}
Так есть момент, где я хотел бы установить свойство в 'SuperNum' структуры на 'num'? Зачем? –