[Golang] Json 파싱을 위한 구조체 자동 생성방법

달달칩·2020년 10월 27일
1

이제 Go를 접한지 약 1년이 되는 것 같다.

Go로 코딩을 하면서 항상 귀찮던것은 Json 형태로된 데이터를 가져올때 그 형식에 맞게 struct를 미리 만들어서 Unmarshaling을 해줘야 한다는 것이었다.

Go를 사용하기 이전에 Python에서는 Json 을 파싱해도 알아서 구조를 잘 만들어줬지만 Go는 그렇지 않기에 약간 귀찮았다. (하지만 귀찮을뿐 오히려 어떤 구조인지 미리 확인할 수 있어서 편리한 점도 있다.)

옛날 한동안 json 을 열심히 파싱하면서 struct도 열심히 만들어주는 노가다도 했었는데 하다보니 현타가 와서 구글링을 해보니 아니 글쎄 맨 위에 뭔가 뜨는 것이었다.

TL;DR

에서 본인이 파싱할 json 을 만들어주면 go의 기본 json 라이브러리에서 요구하는 struct 형태에 맞게 알아서 잘 만들어준다.

완전 복잡한 nested json 이 아닌이상 대부분 잘 만들어주는 듯 하다.

Json

{"key1":1, "key2":"2", "key3":[1,2,3]}

변환된 struct

type AutoGenerated struct {
	Key1 int    `json:"key1"`
	Key2 string `json:"key2"`
	Key3 []int  `json:"key3"`
}

위에 대충 생성된 형태를 가지고 적절하게 바꿔서 쓰면 될 것이다! 짱짱이다.

profile
보안과 개발을 둘다 잘 하고 싶은 사람입니다.

0개의 댓글