๐Ÿ—‚๏ธYAMLโ†”JSON ๋ณ€ํ™˜๊ธฐ

YAML๊ณผ JSON ์ƒํ˜ธ ๋ณ€ํ™˜

์ง€์› ๋ฒ”์œ„: ๋งคํ•‘(ํ‚ค: ๊ฐ’), ์‹œํ€€์Šค(- ํ•ญ๋ชฉ), ๊ณต๋ฐฑ ๋“ค์—ฌ์“ฐ๊ธฐ ์ค‘์ฒฉ, ๋ฌธ์ž์—ดยท์ˆซ์žยทtrue/falseยทnull, ๋”ฐ์˜ดํ‘œ ๋ฌธ์ž์—ด, # ์ฃผ์„. ๋ฏธ์ง€์›: ์•ต์ปคยท๋ณ„์นญ(&, *), ์—ฌ๋Ÿฌ ๋ฌธ์„œ(---), ๋ธ”๋ก ์Šค์นผ๋ผ(|, >), ํ”Œ๋กœ์šฐ ์Šคํƒ€์ผ([], {}), ํƒœ๊ทธ(!!), ํƒญ ๋“ค์—ฌ์“ฐ๊ธฐ.

YAMLยทJSON ๋ณ€ํ™˜๊ธฐ ์‚ฌ์šฉ๋ฒ•

์„ค์ • ํŒŒ์ผ์€ ์‚ฌ๋žŒ์ด ์ฝ๊ธฐ ์ข‹์€ YAML๋กœ ์“ฐ๊ณ , ํ”„๋กœ๊ทธ๋žจ๋ผ๋ฆฌ ์ฃผ๊ณ ๋ฐ›์„ ๋•Œ๋Š” JSON์„ ์“ฐ๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค. ๋„์ปค ์ปดํฌ์ฆˆ๋‚˜ ๊นƒํ—ˆ๋ธŒ ์•ก์…˜ ์„ค์ •์„ API์— ๋„ฃ์–ด์•ผ ํ•  ๋•Œ, ๋ฐ˜๋Œ€๋กœ JSON ์‘๋‹ต์„ ์„ค์ • ํŒŒ์ผ๋กœ ์˜ฎ๊ธธ ๋•Œ ์ด ๋ณ€ํ™˜๊ธฐ๋ฅผ ์“ฐ๋ฉด ๋ฉ๋‹ˆ๋‹ค. ๋ฐฉํ–ฅ์„ ๊ณ ๋ฅด๊ณ  ๋ถ™์—ฌ๋„ฃ์œผ๋ฉด ๋ธŒ๋ผ์šฐ์ € ์•ˆ์—์„œ ๋ฐ”๋กœ ๋ณ€ํ™˜๋˜๋ฉฐ ์„œ๋ฒ„๋กœ ๋‚ด์šฉ์„ ๋ณด๋‚ด์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ง€์› ๋ฒ”์œ„๋ฅผ ๋ถ„๋ช…ํžˆ ๋ฐํž™๋‹ˆ๋‹ค. ์™ธ๋ถ€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์—†์ด ๋งŒ๋“  ๋„๊ตฌ๋ผ YAML ์ „์ฒด ๊ทœ๊ฒฉ์„ ์ฒ˜๋ฆฌํ•˜์ง€๋Š” ๋ชปํ•ฉ๋‹ˆ๋‹ค. ํ‚ค์™€ ๊ฐ’, ๋ชฉ๋ก, ๊ณต๋ฐฑ ๋“ค์—ฌ์“ฐ๊ธฐ ์ค‘์ฒฉ, ๋ฌธ์ž์—ดยท์ˆซ์žยท์ฐธ๊ฑฐ์ง“ยทnull, ๋”ฐ์˜ดํ‘œ ๋ฌธ์ž์—ด, ์ƒต ์ฃผ์„๊นŒ์ง€ ๋‹ค๋ฃน๋‹ˆ๋‹ค. ๋ฐ˜๋ฉด ์•ต์ปค์™€ ๋ณ„์นญ, ์—ฌ๋Ÿฌ ๋ฌธ์„œ๋ฅผ ๋‚˜๋ˆ„๋Š” ์„ธ ์ค„ํ‘œ, ์„ธ๋กœ์ค„์ด๋‚˜ ๋ถ€๋“ฑํ˜ธ๋กœ ์“ฐ๋Š” ๋ธ”๋ก ์Šค์นผ๋ผ, ๋Œ€๊ด„ํ˜ธยท์ค‘๊ด„ํ˜ธ ํ”Œ๋กœ์šฐ ์Šคํƒ€์ผ, ๋А๋‚Œํ‘œ ํƒœ๊ทธ, ํƒญ ๋“ค์—ฌ์“ฐ๊ธฐ๋Š” ์ง€์›ํ•˜์ง€ ์•Š์œผ๋ฉฐ ๋งŒ๋‚˜๋ฉด ๋ช‡ ๋ฒˆ์งธ ์ค„์ธ์ง€์™€ ํ•จ๊ป˜ ์˜ค๋ฅ˜๋กœ ์•Œ๋ ค ์ค๋‹ˆ๋‹ค. ์กฐ์šฉํžˆ ์ž˜๋ชป ๋ณ€ํ™˜ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

yes์™€ no๋Š” ์ฐธ๊ฑฐ์ง“์ด ์•„๋‹ˆ๋ผ ๋ฌธ์ž์—ด๋กœ ๋‘ก๋‹ˆ๋‹ค. YAML ํŒ๋ณธ๋งˆ๋‹ค ํ•ด์„์ด ๋‹ฌ๋ผ ์ž„์˜๋กœ ๋ฐ”๊พธ๋ฉด ์„ค์ •์ด ๋’ค์ง‘ํžˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. JSON์—๋Š” ์ฃผ์„์„ ๋‹ด์„ ์ˆ˜ ์—†์œผ๋ฏ€๋กœ ์ฃผ์„์ด ์žˆ์—ˆ๋‹ค๋ฉด ๋ช‡ ๊ตฐ๋ฐ๋ฅผ ๋บ๋Š”์ง€ ๊ฒฐ๊ณผ์— ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. JSON์—์„œ YAML๋กœ ๊ฐˆ ๋•Œ๋Š” ๋‘ ์นธ ๋“ค์—ฌ์“ฐ๊ธฐ๋ฅผ ์“ฐ๊ณ , ์ˆซ์ž๋‚˜ ์ฐธ๊ฑฐ์ง“์ฒ˜๋Ÿผ ๋ณด์ด๋Š” ๋ฌธ์ž์—ด์€ ๋”ฐ์˜ดํ‘œ๋กœ ๊ฐ์‹ธ ๋œป์ด ๋ฐ”๋€Œ์ง€ ์•Š๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค.

์ž์ฃผ ๋ฌป๋Š” ์งˆ๋ฌธ

๋ณ€ํ™˜ํ–ˆ๋”๋‹ˆ ์˜ค๋ฅ˜ ์ค„ ๋ฒˆํ˜ธ๊ฐ€ ๋‚˜์˜ต๋‹ˆ๋‹ค. ์™œ ๊ทธ๋Ÿฐ๊ฐ€์š”?

์ง€์›ํ•˜์ง€ ์•Š๋Š” ๋ฌธ๋ฒ•์„ ๋งŒ๋‚ฌ์„ ๋•Œ ๊ทธ ์ค„์„ ์•Œ๋ ค ์ฃผ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋ธ”๋ก ์Šค์นผ๋ผ๋‚˜ ์•ต์ปค, ํ”Œ๋กœ์šฐ ์Šคํƒ€์ผ์ด ํ”ํ•œ ์›์ธ์ด๋ฉฐ, ํ•ด๋‹น ๋ถ€๋ถ„์„ ๋‹จ์ˆœํ•œ ํ‚คยท๊ฐ’์ด๋‚˜ ๋ชฉ๋ก ํ˜•ํƒœ๋กœ ๋ฐ”๊พธ๋ฉด ๋ณ€ํ™˜๋ฉ๋‹ˆ๋‹ค.

์ฃผ์„์€ ์–ด๋–ป๊ฒŒ ๋˜๋‚˜์š”?

JSON ๊ทœ๊ฒฉ์—๋Š” ์ฃผ์„์ด ์—†์–ด ๋ณ€ํ™˜ ๊ณผ์ •์—์„œ ๋น ์ง‘๋‹ˆ๋‹ค. ๋ช‡ ๊ตฐ๋ฐ๊ฐ€ ๋น ์กŒ๋Š”์ง€ ๊ฒฐ๊ณผ ์•ˆ๋‚ด์— ํ‘œ์‹œ๋˜๋ฏ€๋กœ, ์ฃผ์„์ด ์ค‘์š”ํ•˜๋‹ค๋ฉด ์›๋ณธ YAML์„ ๋”ฐ๋กœ ๋ณด๊ด€ํ•˜์„ธ์š”.