IT/Go

[Go/Golang] JSON 데이터 형식에 맞춰 Struct를 자동으로 생성해주는 사이트

wookiist 2021. 3. 2. 15:06

[Go/Golang] JSON 데이터 형식에 맞춰 Struct를 자동으로 생성해주는 사이트

API 서버 개발

API 서버 개발을 하다보면, JSON 데이터를 주고 받을 일이 참 많습니다. Python에서는 딕셔너리 자료로 거의 대부분의 작업이 가능했지만, Go는 그렇지 않습니다.

json.Unmarshal()

Go에서 JSON 데이터를 받아 어떤 의미 있는(논리적인) 데이터 형식으로 변환하기 위해선 json.Unmarshal() 을 사용합니다.

다만 이렇게 json.Unmarshal() 메서드를 사용하려면 우리가 주고받는 JSON 데이터가 어떻게 생겼는지 Go가 알고 있어야 합니다. 우리는 이를 위해 Go에 JSON 데이터 형식과 일치하는 Struct를 생성해둘 수 있습니다.

JSON-TO-GO

하지만 일일이 모든 JSON 데이터에 대응하는 Struct를 생성하는 것은 여간 귀찮은 일이 아닐 수 없습니다. 다행히도 1:1 대응이 되는 어떤 규칙이 있다보니 개발자 Matt Holt 님이 JSON 데이터를 붙여 넣으면, 자동으로 Go Struct로 변환해주는 사이트를 개발해 두셨습니다.

https://mholt.github.io/json-to-go/

참고 이미지

자동으로 JSON 데이터를 위한 주석도 붙고, 다음과 같이 하나의 Struct 안에 중첩한 Struct를 생성할 수도 있고,

nested

Inline type definitions를 체크 해제하면 다음과 같이 여러 Struct로 분리하여 선언할 수도 있습니다.

https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FuvixR%2FbtqY7onhQy2%2FAO5OfnP67euVbbkfjl4KOk%2Fimg.png

반응형