JSON ์๋ต์์ Go ๊ตฌ์กฐ์ฒด๋ฅผ ๋ฝ์๋ด๊ธฐ
API ์๋ต์ ๋ถ์ฌ ๋ฃ์ผ๋ฉด ํ๋ ์ด๋ฆ๊ณผ ํ์ , json ํ๊ทธ๊ฐ ๋ถ์ Go ๊ตฌ์กฐ์ฒด๊ฐ ๋ฐ๋ก ๋ง๋ค์ด์ง๋ค. ์ค์ฒฉ๋ ๊ฐ์ฒด๋ ๋ณ๋ ํ์ ์ผ๋ก ๋ผ์ด ๋ด๊ณ , ๊ฐ์ฒด ๋ฐฐ์ด์ ๋ชจ๋ ์์์ ํ๋๋ฅผ ํฉ์ณ์ ์ถ๋ก ํ๋ฏ๋ก ์ด๋ค ์์์๋ง ์๋ ํ๋๋ ๋น ์ง์ง ์๋๋ค. ๊ฒฐ๊ณผ๋ gofmt ๊ฐ ์ ๋ ฌํ ๋ชจ์๊ณผ ๊ฐ๊ฒ ๋ง์ถฐ ๋์๋ค.
ํ์ ์ ๊ฐ์ ๋ชจ์์ผ๋ก ์ ํ๋ค. ์์์ ์ด ์๋ ์ซ์๋ int ๋ int64 ์ค์์ ๊ณ ๋ฅธ ํ์ , ์์์ ์ด ์์ผ๋ฉด float64 ๊ฐ ๋๋ค. ๋ฌธ์ ๋ nullยท๋น ๋ฐฐ์ดยทํ์ ์ด ์์ธ ๋ฐฐ์ด์ด๋ค. ์ด ์ธ ๊ฐ์ง๋ ๊ฐ๋ง ๋ณด๊ณ ๋ ํ์ ์ ์ ์ ์์ด ์ถ๋ก ํ์ง ์๊ณ , any ๋๋ interface{} ๋ก ๋๋ฉด์ ๊ทธ ์๋ฆฌ๋ฅผ ๊ฒฝ๋ก๋ก ์ ์ด ์ค๋ค. 2026๋ 10์ ๊ธฐ์ค์ผ๋ก ์ถ์ธกํด์ ์ฑ์ฐ๋ ์ชฝ๋ณด๋ค ๋น์ ๋๊ณ ์๋ฆฌ๋ ์ชฝ์ด ์์ ํ๋ค๊ณ ๋ณด์๋ค.
ํ๋ ์ด๋ฆ์ ํจํค์ง ๋ฐ์์ ์ฐ๋๋ก ๋๋ฌธ์๋ก ์์ํ๊ฒ ๋ฐ๊พธ๊ณ , ๊ฐ์ ์ด๋ฆ์ด ๊ฒน์น๋ฉด ๋ค์ ๋ฒํธ๋ฅผ ๋ถ์ธ๋ค. ์ฝ์ด๋ฅผ ๋๋ฌธ์๋ก ์ฐ๋ ํ๊ธฐ๋ Go ์ปค๋ฎค๋ํฐ ๊ดํ์ด๋ผ ์ ํ์ผ๋ก ๋๋ค. ์ด ๋๊ตฌ๋ Go ์ ์ฉ์ด๋ฉฐ ๋ค๋ฅธ ์ธ์ด์ ๋ชจ๋ธ ํด๋์ค๋ ๋ง๋ค์ง ์๋๋ค.
์์ฃผ ๋ฌป๋ ์ง๋ฌธ
null ์ ๊ทธ ๊ฐ์ด ๋ฌด์์ด์๋์ง ์๋ ค ์ฃผ์ง ์๊ธฐ ๋๋ฌธ์ด๋ค. ๋ค๋ง ๊ฐ์ฒด ๋ฐฐ์ด์์ ์ด๋ค ์์๋ null ์ด๊ณ ๋ค๋ฅธ ์์์ ๊ฐ์ด ์์ผ๋ฉด ๊ทธ ๊ฐ์ผ๋ก ํ์ ์ ์ ํ๊ณ ํฌ์ธํฐ๋ก ํ์ํ๋ค.
JSON ์ซ์์๋ ๋ฒ์ ์ ํ์ด ์์ผ๋ฏ๋ก ํฐ ๊ฐ์ด ์ฌ ์ ์๋ ์๋ต์ด๋ฉด int64 ๊ฐ ์์ ํ๋ค. ์๊ฐ ๊ฐ์ด๋ ์๋ณ์์ฒ๋ผ ์๋ฆฟ์๊ฐ ํฐ ํ๋๊ฐ ์์ผ๋ฉด ํนํ ๊ทธ๋ ๋ค.
๊ฐ์ด ์๋ ์ํ์ 0ยท๋น ๋ฌธ์์ด์ ๊ตฌ๋ณํ๋ ค๋ฉด ํฌ์ธํฐ๊ฐ ํ์ํ๊ณ , ๋น์ด ์์ ๋ JSON ์์ ์์ ๋นผ๋ ค๋ฉด omitempty ๊ฐ ํ์ํ๋ค. ๋์ ๊ฐ์ด ์จ์ผ ์๋ณต์ด ๋ง๋๋ค.