golang marshalJson 사용시 주의할 점
-
단순히 marshalJson을 하게되면 recursive하게 실행될 가능성이 존재함
func (s Strc) MarshalJson() ([]byte, error) { data, err := json.Marshal(s) }
-
따라서 아래와 같이 임시 타입을 생성해서 진행해야 함
func (s Strc) MarshalJson() ([]byte, error) { data, err := json.Marshal(struct { Strc }{Strc: s}) }