[Golang] JSON 인코딩(Encoding)과 디코딩(Decoding)

Text 기반의 데이터교환 및 전송을 위한 가장 최적화된 표준 포맷으로 JSON을 뽑을 수 있는데요. Go에서는 map이나 struct 타입 객체에 대해 JSON 문자열로 인코딩할 수 있습니다. 여기서 map의 경우에는 그 key의 타입이 string이 아닌 경우 해당 타입을 string으로 변환이 가능할 경우에만 JSON 인코딩이 가능합니다. 다음 코드는 사용자 정의 struct에 대한 map 객체를 인코딩하는 예제입니다.

위의 코드를 실행하면 다음과 같은 결과를 볼 수 있습니다.

이제 다시 위에서 얻는 JSON 문자열을 객체로 인코딩해 보도록 하겠습니다. JSON 문자열을 다시 인코딩하기 위해서는 json.Unmarshal 함수를 사용합니다. 예제는 아래와 같습니다.

위의 코드에서 14번에 긴 문자열을 jsonString 변수에 담고 있는데요. 긴 문자열을 Go언어에서 입력하기 위한 방식으로 14~19번 코드를 주의해 보시기 바랍니다. 실행 결과는 다음과 같습니다.

댓글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다