5
次のコードは、 "ホスト名"ではなく "Id"です。どうして?私は長い間それを見つめてきました。タイプミスであれば、私はそれを見つけられません。助けてください。 (http://play.golang.org/p/DIRa2MvvAV)encoding/json unmarshalにフィールドがありません
package main
import (
"encoding/json"
"fmt"
)
type jsonStatus struct {
Hostname string `json:host`
Id string `json:id`
}
func main() {
msg := []byte(`{"host":"Host","id":"Identifier"}`)
status := new(jsonStatus)
err := json.Unmarshal(msg, &status)
if err != nil {
fmt.Println("Unmarshall err", err)
}
fmt.Printf("Got status: %#v\n", status)
}
私が手出力は、私が
Got status: &main.jsonStatus{Hostname:"Host", Id:"Identifier"}
いやはや、私はそれを逃した信じることができません。私は、非マーシャル時にキー名で大文字と小文字が区別されないことも認識していませんでした。ありがとうございました! –