私はこの問題を回避できません。私は、次のコードサンプルを非整列化してみてくださいGolang:json Unmarshalが簡単な例を開けなかった
{
"from:": {
"position": 348,
"length": 15
},
"to": {
"position": 737,
"length" : 10
}
}
:
type Range struct {
Position int `json:"position"`
Length int `json:"length"`
}
type TwoRanges struct {
From Range `json:"from"`
To Range `json:"to"`
}
やファイルに次のJSONサンプル「ranges.json」:私は二回、それを使用する別の構造体を簡単な構造体を持っている、と:
func main() {
buffer, err := ioutil.ReadFile("ranges.json")
if err != nil {
log.Fatal(err)
}
var sample TwoRanges
if err = json.Unmarshal(buffer, &sample); err != nil {
log.Fatal(err)
}
fmt.Printf("%v\n", sample)
}
出力
{{0 0} {737 10}}
であります
どういうわけか、構造体の半分だけが解凍されています。
- これはバグですか、何か間違っていますか?
- エンコーダー/ jsonパッケージの「詳細モード」がありますが、アンマーシャラーに何が問題になったのか教えてください。私がそのパッケージで不思議な問題を抱えたのは初めてではありません。
あなたの' ranges.json'の "from:"は "from"でなければなりません –
@simon_xia Wow!あなたの鋭い目をありがとう!これは少なくとも今のところ私の問題を解決します。あなたのコメントに答えてください。このような間違いを見つけるのに役立つツール(上記の "冗長モード"のような)を知っていますか? – user44168
これは構文エラーではありません。私の限られた知識のおかげで、これを避けるためのツールが見つかりました:(@ user44168 –