# 日報(2022-074-10) go の json.Marshal で err が nil なのに結果が "{}" な時

# なぜこのエントリーを描いたのか

一年ぶりぐらいで同じ現象でハマってしまったので反省と自戒の念をこめて

# 原因

こういう struct を Marshal しようとしてはまりました

type requestBoxType struct {
        commandJson *commandRequestType `json:"commandRequest,omitempty"`
        peerConnectionRequest []int64 `json:"peerConnectionRequest,omitempty"`
        settingsJsonStr string `json:"settingsJsonStr,omitempty"`
}

# 正解

こうでないと、json.Marshal() から見えないですね

type requestBoxType struct {
        CommandJson *commandRequestType `json:"commandRequest,omitempty"`
        PeerConnectionRequest []int64 `json:"peerConnectionRequest,omitempty"`
        SettingsJsonStr string `json:"settingsJsonStr,omitempty"`
}

# なぜ同じ間違いをくりかえしたのか

最近は map[string]interface{} ばっかり使ってたら忘れてました ^^; struct を json にしたの一年ぶりぐらい

# 感想

人って頭が悪い生き物なのですね(と、一般化してみる)


Last Updated: 2023/1/22 2:46:54