๐ŸงฉJSON ํ‰ํƒ„ํ™”(flatten) ๋ณ€ํ™˜๊ธฐ

์ค‘์ฒฉ JSON์„ ํ‰ํƒ„ํ•˜๊ฒŒ ๋ณ€ํ™˜

JSON ํ‰ํƒ„ํ™” ๋ณ€ํ™˜๊ธฐ ์‚ฌ์šฉ๋ฒ•

์ค‘์ฒฉ๋œ JSON์„ user.name, items.0.price์ฒ˜๋Ÿผ ํ•œ ๋‹จ๊ณ„ ํ‚ค๋กœ ํŽผ์น˜๋ฉด ํ‘œ์— ๋ถ™์—ฌ ๋„ฃ๊ฑฐ๋‚˜ ๋ฒˆ์—ญ ํŒŒ์ผยท์„ค์ • ํŒŒ์ผ๋กœ ๋‹ค๋ฃจ๊ธฐ ํ›จ์”ฌ ํŽธํ•ฉ๋‹ˆ๋‹ค. ์ด ๋„๊ตฌ๋Š” JSON์„ ๋ถ™์—ฌ๋„ฃ๋Š” ์ฆ‰์‹œ ํ‰ํƒ„ํ™”ํ•˜๊ณ , ๋ฐ˜๋Œ€ ๋ฐฉํ–ฅ์ธ ์—ญํ‰ํƒ„ํ™”๋„ ์‹ค์ œ๋กœ ๊ตฌํ˜„ํ•ด ๋‘์—ˆ์Šต๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ๋Š” ๋ณด๊ธฐ ์ข‹๊ฒŒ ๋“ค์—ฌ์“ด JSON์œผ๋กœ ๋‚˜์˜ค๊ณ  ๋ณต์‚ฌ ๋ฒ„ํŠผ์œผ๋กœ ๊ฐ€์ ธ๊ฐˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฐฐ์—ด ์ธ๋ฑ์Šค ํ‘œ๊ธฐ๋Š” ๋‘ ๊ฐ€์ง€ ์ค‘์— ๊ณ ๋ฆ…๋‹ˆ๋‹ค. ์  ํ‘œ๊ธฐ๋Š” items.0.name, ๋Œ€๊ด„ํ˜ธ ํ‘œ๊ธฐ๋Š” items[0].name์ด ๋ฉ๋‹ˆ๋‹ค. ๋˜๋Œ๋ฆด ๋•Œ๋Š” ํ‘œ๊ธฐ์— ๋”ฐ๋ผ ํ•ด์„์ด ๋‹ฌ๋ผ์ง€๋Š”๋ฐ, ์  ํ‘œ๊ธฐ์—์„œ๋Š” ์ˆซ์ž๋งŒ์œผ๋กœ ๋œ ์กฐ๊ฐ์„ ๋ฐฐ์—ด ์ธ๋ฑ์Šค๋กœ ๋ณต์›ํ•˜๋ฏ€๋กœ ์›๋ž˜ ํ‚ค๊ฐ€ ๋ฌธ์ž์—ด 0์ด์—ˆ๋‹ค๋ฉด ๋ฐฐ์—ด๋กœ ๋ฐ”๋€๋‹ˆ๋‹ค. ์ด ๊ตฌ๋ถ„์ด ์ค‘์š”ํ•˜๋‹ค๋ฉด ๋Œ€๊ด„ํ˜ธ ํ‘œ๊ธฐ๋ฅผ ์“ฐ์„ธ์š”. ๋นˆ ๊ฐ์ฒด์™€ ๋นˆ ๋ฐฐ์—ด์€ ๋” ๋‚ด๋ ค๊ฐˆ ๋‹จ๊ณ„๊ฐ€ ์—†์œผ๋ฏ€๋กœ ๊ทธ ์ž์ฒด๋ฅผ ๊ฐ’์œผ๋กœ ๋‘๊ณ  ๋ช‡ ๊ฑด์ด์—ˆ๋Š”์ง€ ์•Œ๋ ค ์ค๋‹ˆ๋‹ค.

ํ•œ ๊ฐ€์ง€ ํ•œ๊ณ„๋Š” ํ‚ค ์ด๋ฆ„์— ์ ์ด๋‚˜ ๋Œ€๊ด„ํ˜ธ๊ฐ€ ๋“ค์–ด ์žˆ๋Š” ๊ฒฝ์šฐ์ž…๋‹ˆ๋‹ค. ํŽผ์นœ ํ‚ค์—์„œ๋Š” ๊ฒฝ๋กœ ๊ตฌ๋ถ„๊ณผ ๊ตฌ๋ณ„๋˜์ง€ ์•Š์•„ ๋˜๋Œ๋ฆด ๋•Œ ๋‹จ๊ณ„๊ฐ€ ์ž˜๋ชป ๋‚˜๋‰ฉ๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๊ทธ๋Ÿฐ ํ‚ค๋ฅผ ๋ฐœ๊ฒฌํ•˜๋ฉด ๊ฑด์ˆ˜๋ฅผ ํ•จ๊ป˜ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. JSON ๋ฌธ๋ฒ•์ด ํ‹€๋ฆฌ๋ฉด ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์•Œ๋ ค ์ฃผ๋Š” ์˜ค๋ฅ˜ ์œ„์น˜๋ฅผ ๊ทธ๋Œ€๋กœ ๋ณด์—ฌ ์ฃผ๋ฏ€๋กœ ์–ด๋””๊ฐ€ ์ž˜๋ชป๋๋Š”์ง€ ๋ฐ”๋กœ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

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

๋ฐฐ์—ด์€ ์–ด๋–ป๊ฒŒ ํ‘œ๊ธฐ๋˜๋‚˜์š”?

์  ํ‘œ๊ธฐ๋Š” items.0.name, ๋Œ€๊ด„ํ˜ธ ํ‘œ๊ธฐ๋Š” items[0].name์ด ๋ฉ๋‹ˆ๋‹ค. ์—ญํ‰ํƒ„ํ™”ํ•  ๋•Œ ์  ํ‘œ๊ธฐ์—์„œ๋Š” ์ˆซ์ž๋งŒ ์žˆ๋Š” ์กฐ๊ฐ์„ ๋ฐฐ์—ด ์ธ๋ฑ์Šค๋กœ ๋ณด๊ณ , ๋Œ€๊ด„ํ˜ธ ํ‘œ๊ธฐ์—์„œ๋Š” ๋Œ€๊ด„ํ˜ธ ์•ˆ์˜ ์ˆซ์ž๋งŒ ์ธ๋ฑ์Šค๋กœ ๋ด…๋‹ˆ๋‹ค.

ํ‚ค ์ด๋ฆ„์— ์ ์ด ๋“ค์–ด ์žˆ์œผ๋ฉด ์–ด๋–ป๊ฒŒ ๋˜๋‚˜์š”?

ํ‰ํƒ„ํ™”๋Š” ๋˜์ง€๋งŒ ๊ฒฝ๋กœ์™€ ๊ตฌ๋ถ„๋˜์ง€ ์•Š์•„ ์—ญํ‰ํƒ„ํ™”์—์„œ ๋‹จ๊ณ„๊ฐ€ ์ž˜๋ชป ๋‚˜๋‰ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ํ‚ค๊ฐ€ ์žˆ์œผ๋ฉด ๊ฒฐ๊ณผ ์•„๋ž˜์— ๊ฑด์ˆ˜๋ฅผ ์•Œ๋ ค ์ฃผ๋‹ˆ ํ‘œ๊ธฐ๋ฅผ ๋ฐ”๊พธ๊ฑฐ๋‚˜ ํ‚ค ์ด๋ฆ„์„ ๊ณ ์น˜์„ธ์š”.

๋นˆ ๊ฐ์ฒด์™€ null์€ ์‚ฌ๋ผ์ง€๋‚˜์š”?

์‚ฌ๋ผ์ง€์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋นˆ ๊ฐ์ฒด์™€ ๋นˆ ๋ฐฐ์—ด์€ ๋” ๋‚ด๋ ค๊ฐˆ ๊ณณ์ด ์—†์–ด ๊ทธ ์ž์ฒด๋ฅผ ๊ฐ’์œผ๋กœ ๋‘๊ณ , null๋„ ๊ฐ’์œผ๋กœ ๊ทธ๋Œ€๋กœ ๋‚จ๊น๋‹ˆ๋‹ค.