Go の主要な主題専門家の 1 人である Dave Cheney は次のように書いています。セミコロン規則の結果."
しかし、その美しいルールを JSON テキストに適用しようとすると、パーサーはこの哲学に同意しないようです。以下のコードでは、コンマを削除すると機能します。diff に要素を追加したときに 1 行の変更だけが表示されるように、これを修正する方法はありますか?
package main
import (
"fmt"
"encoding/json"
)
type jsonobject struct {
Objects []ObjectType `json:"objects"`
}
type ObjectType struct {
Name string `json:"name"`
}
func main() {
bytes := []byte(`{ "objects":
[
{"name": "foo"}, // REMOVE THE COMMA TO MAKE THE CODE WORK!
]}`)
jsontype := &jsonobject{}
json.Unmarshal(bytes, &jsontype)
fmt.Printf("Results: %v\n", jsontype.Objects[0].Name) // panic: runtime error: index out of range
}