私はencoding/json
を使ってstructをserializeします。私はjson.Marshal
の出力について混乱しています。シリアライズされたフィールドの内容は、厳密に構造体定義の順序に従っていますか?シリアル化されたコンテンツは、定義のエンコーディング/ jsonパッケージの使用順に厳密に従っていますか?
ここに構造体定義があります
type MyStruct struct {
Field1 string
Field2 string
}
出力は{"Field2":"field2","Field1":"field1"}
でしたか?出力構造体のフィールドが順不同である場合、直列化されたコンテンツのハッシュは不確実です。
カスタムビヘイビアを作成する唯一の方法は、 '' 'json.Marshaler'''を実装するカスタムマーシャラを作成することです – bayrinat