JSON ๋ XML
๋ฐ์ดํฐ์ ๋ํด ์ด๋ค ํ์์ ์ ํํด์ผ ํ ์ง ํ์คํ์ง ์์ต๋๊น? JSON๊ณผ XML์ ํฌ๊ด์ ์ผ๋ก ๋น๊ตํ์ฌ ์ด๋ค ๊ฒ์ด ๊ฐ์ฅ ์ ํฉํ์ง ํ์ธํ์ธ์.

JSON (JavaScript Object Notation) ๋ฐ XML (Extensible Markup Language)์ ๋ฐ์ดํฐ ๊ตํ์ ๋๋ฆฌ ์ฌ์ฉ๋๋ ํ์์ ๋๋ค. ๊ทธ๋ฌ๋ ๊ทธ๋ค์ ๋ง์ ์ ์ฌ์ ์ ๊ฐ์ง๊ณ ์์ง๋ง ๋์ผํ์ง๋ ์์ต๋๋ค. ์ด ๊ธฐ์ฌ์ ๋ชฉ์ ์ JSON ๊ณผ XML ๊ฐ์ ์ฃผ์ ์ฐจ์ด์ ๊ณผ ์ ์ฌ์ ์ ์ ์ํ์ฌ ๋ค๋ฅธ ์ฌ๋๋ค์ด ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด ๋ด๋ณด๋ด๊ฑฐ๋ ์ปดํจํฐ์ ํ์ผ์ ๋ก์ปฌ๋ก ์ ์ฅํ ๋ ์ฌ์ฉํ ๋ฐ์ดํฐ ํ์์ ๋ํด ์ ๋ณด์ ์ ๊ฐํ ๊ฒฐ์ ์ ๋ด๋ฆด ์ ์๋๋ก ํ๋ ๊ฒ์ ๋๋ค.
JSON ๊ณผ XML ์ ์ปดํจํฐ์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ๋ ๊ฐ์ง ๋ค๋ฅธ ๋ฐฉ๋ฒ์ ๋๋ค. ๋ ๋ค ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ๋ฐ ์ ์ฉํ์ง๋ง ๊ฐ๊ฐ ์ฅ๋จ์ ์ด ์์ต๋๋ค. ์๋ฅผ ๋ค์ด JSON ์ XML ๋ณด๋ค ์ฝ๊ณ ์ดํดํ๊ธฐ ์ฝ์ง๋ง ์ ์ฐ์ฑ์ด ๋จ์ด์ง๋๋ค. ๋ฐ๋ฉด์ XML ์ JSON ๋ณด๋ค ์ ์ฐํ์ง๋ง ์์ฑํ๊ธฐ๊ฐ ๋ ์ด๋ ค์ธ ์ ์์ต๋๋ค.
XML ์ด๋ ๋ฌด์์ ๋๊น?
XML ์ ์ ์ฅ ๋ฐ ๋ฐ์ดํฐ ๊ตํ์ ์ํ ๊ฐ๋ฐฉํ ํ์ค์ ๋๋ค. ๋ฌธ์, ์น ํ์ด์ง ๋๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ฐ์ XML ํ์ผ์ ๊ตฌ์กฐ์ ๋ด์ฉ์ ์ค๋ช ํ๊ธฐ ์ํ ๋งํฌ์ ์ธ์ด์ ๋๋ค. XML ์ HTML์ฒ๋ผ ์๊ฐํ ์ ์์ง๋ง ๊ธฐ๋ณธ ํ์์ ๋ณ๊ฒฝํ์ง ์๊ณ ๋ฌธ์์ ๋ ธ๋์ ์ถ๊ฐ ์ ๋ณด๋ฅผ ์ฒจ๋ถํ ์ ์์ต๋๋ค.
XML (Extensible Markup Language)์ SGML (์ค๋ฆฌ์ฝ ๊ทธ๋ํฝ ๋ฉํฐ๋ฏธ๋์ด ์ธ์ด)์ ๋์ฒดํ๊ธฐ ์ํด 1990๋ ๋ ์ด์ ๋ง๋ค์ด์ก์ต๋๋ค. XML ์ ์์ฑ์๊ฐ ๋งํฌ์ ์ธ์ด๋ฅผ ์ ์ํ๊ณ ๋ชจ๋ ์น์ฌ์ดํธ ๋๋ ์ ํ๋ฆฌ์ผ์ด์ ์์ ์ฌ์ฉํ ์ ์๋๋ก ํ๋ ๊ฐ๋ฐฉํ ํ์ค์ ๋๋ค.
XML ์ ์๊ฐ์ด ์ง๋จ์ ๋ฐ๋ผ ๋งค์ฐ ์ธ๊ธฐ๋ฅผ ์ป์์ง๋ง ์ผ๋ถ ์ฐ์ ์์๋ ๊ธฐ์กด ์ฝ๋ฉ ํ์ค์ผ๋ก ์์ ํ๋ ๊ฒ์ด ๋ ์ฝ๊ธฐ ๋๋ฌธ์ ์ฌ์ ํ XML ๋์ SGML์ ์ฌ์ฉํฉ๋๋ค. ํนํ HTML5 ๋์ Microsoft ์๋ ์คํ์ผ ํ ํ๋ฆฟ์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ๋์ฑ ๊ทธ๋ ์ต๋๋ค.
XML ์ฝ๋๋ฅผ ์ฌ์ฉํ๋ฉด ๋ง์ ์ด์ ์ด ์์ต๋๋ค. ๊ฐ์ฅ ํฐ ์ด์ ์ค ํ๋๋ HTML๋ณด๋ค ์ ์ฐํ๊ธฐ ๋๋ฌธ์ ๋๋ค. ์ฆ, ์น์ฌ์ดํธ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ํ ๋ง์ถคํ ๋งํฌ์ ์ธ์ด๋ฅผ ์ฝ๊ฒ ๋ง๋ค ์ ์์ต๋๋ค. ๋ํ ์ด๋ฅผ ํตํด ๋ฐ์ดํฐ ํ์์ ์ง์ ํ๊ณ ๋ชจ๋ ๋ธ๋ผ์ฐ์ ๋๋ ์ฅ์น์์ ์ฌ๋ฐ๋ฅด๊ฒ ํ์ํ ์ ์์ต๋๋ค.
๋ํ XML ์ ์ฌ์ฉํ๋ฉด ๋ชจ๋ XML ๋ฐ์ดํฐ์์ ์ฌ์ฉํ ์ ์๋ ์ฌ์ฉ์ ์ ์ ํ๊ทธ๋ฅผ ๋ง๋ค ์ ์์ต๋๋ค. ์ด๋ฌํ ํ๊ทธ๋ ํน์ XML ๋ฐ์ดํฐ๋ฅผ ์ ์ํ๋ ๋ฐ ์์ฃผ ์ฌ์ฉ๋ฉ๋๋ค. ์ด๋ฅผ ํตํด ๊ฐ๋ฐ์์ ๋์์ด๋๋ ์ ํ๋ก์ ํธ๋ฅผ ์์ฑํ ๋ ๋ ์ฝ๊ฒ ํ์ ํ ์ ์์ต๋๋ค!
XML ๋ฌธ์ ๋๋ XML ๋ฐ์ดํฐ๋ ์๋ก ์ค์ฒฉ๋ ์ ์๋ ์์ ๋ฐ ์์ฑ์ ๋ชจ์์ ๋๋ค. ์์๋ ์ฌ๋ ํ๊ทธ์ ๋ซ๋ ํ๊ทธ๋ก ๋๋ฌ์ธ์ฌ ์์ง๋ง ์์ฑ์ ๊ทธ๋ ์ง ์์ต๋๋ค. ์์๋ ํ์ ์์, ๋ฌธ์ ๋ฐ์ดํฐ ๋ฐ ํ ์คํธ๋ฅผ ํฌํจํ ์ ์์ต๋๋ค. XML ๋ฐ์ดํฐ์ ํ๊ทธ ์ฌ์ด ๋๋ ์์ ์ฌ์ด์๋ ๊ณต๋ฐฑ์ด ์์ต๋๋ค. ๋ชจ๋ ๊ฒ์ ๋๊ดํธ ์์ผ๋ก ๋ฌถ์ด์ผ ํฉ๋๋ค.
JSON ์ด๋ ๋ฌด์์ ๋๊น?
JSON ์ ๋ฐ์ดํฐ ๊ตํ ํ์์ ๋๋ค. ์ด๋ ์ธ์ด ๋ ๋ฆฝ์ ์ ๋๋ค. ์ฆ, ๋ชจ๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ํจ๊ป ์ฌ์ฉํ ์ ์์ผ๋ฉฐ ๊ธฐ๋ณธ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ ํ๋ซํผ ๋ ๋ฆฝ์ ์ ๋๋ค. JSON ์ ์ธ์ด ๋ ๋ฆฝ์ ์ธ ํน์ฑ์ Ruby ๋๋ JavaScript ์ ๊ฐ์ ๋ค๋ฅธ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ๋ฐ์ดํฐ ๊ตํ์ด ํ์ํ ์ ์๋ ์น ๊ฐ๋ฐ์ ์ฌ์ฉํ๊ธฐ์ ์ด์์ ์ ๋๋ค.
JSON ์ ํ๊ทธ๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ๋งํฌ์ ํฉ๋๋ค: "{"key": value," "otherKey": anotherValue}." ํค์ ๊ฐ์ ํญ์ ๊ฐ๊ฐ ์ค๊ดํธ({)์ ๋๊ดํธ([])๋ก ๋ฌถ์ด์ผ ํฉ๋๋ค. ๋ํ ๊ฐ ํค-๊ฐ ์์ ๋์ผํ ์์ ์ธ์ฉ ๋ถํธ๋ฅผ ํฌํจํด์ผ ํฉ๋๋ค. ์๋ฅผ ๋ค์ด, {"name": "John"} ์ ์ด๋ฆ ํ๊ทธ ๋ค์ ์ธ์ฉ ๋ถํธ๊ฐ ๋๋ฌด ์ ๊ธฐ ๋๋ฌธ์ ์ ํจํ์ง ์์ต๋๋ค.
JSON ์ ๊ณต๊ฐ ํจ์จ์ ์ธ ์ด์ง ์ธ์ฝ๋ฉ์ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ ๊ฐ๋ณ์ต๋๋ค(๋์ค์ ๋ ์์ธํ ์ดํด๋ณผ ๊ธฐ์ ). ๋ฐ๋ผ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํํ๋ ์จ๋ผ์ธ ์์ ๋๋ ์น API ๊ฐ์ ์ง๋ถ ์์ฒญ์ ๋ณด๋ผ ๋์ ๊ฐ์ด ๋คํธ์ํฌ๋ฅผ ํตํด ์ ์ก๋๋ ์๋์ ์ ๋ณด์ ์ด์์ ์ ๋๋ค.
JSON ํ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ฉด ๊ฐ ํ๋์ ๋ค์ด๊ฐ๋ ๋ด์ฉ์ ๋ํ ์ง์ ์์ด๋ ์ด ํ์์ ์ฝ๊ณ ์ธ ์ ์์ต๋๋ค. ๋ช ๊ฐ์ง ๊ธฐ๋ณธ ๊ท์น๋ง ์์ผ๋ฉด ๋ฉ๋๋ค.
- ํ๋์๋ ์ผ๊ด๋ ์ด๋ฆ์ด ์์ด์ผ ํฉ๋๋ค.
- ๋ชจ๋ ๊ฐ์ ๋ฌธ์์ด์ด์ด์ผ ํฉ๋๋ค.
- ์ผํ ๋ฌธ์๋ ๊ฐ์ ๊ตฌ๋ถํด์ผ ํฉ๋๋ค.
JSON ์ ๋ํ ์ฌ๋์ด ์ฝ์ ์ ์์ต๋๋ค. ์ฆ, ํ์๋ฅผ ํตํด ์คํํ์ง ์๊ณ ๋ ํ์ผ์ ์ด๊ณ ๋ด๋ถ ๋ด์ฉ์ ๋ณผ ์ ์์ต๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ์ฝ๋์ ๋๋ฒ๊น ๋ฌธ์ ์ ๋ ์ฝ๊ฒ ์ ๊ทผํ ์ ์๊ณ ๋ค๋ฅธ ์์ฉ ํ๋ก๊ทธ๋จ์์ ๋ฐ์ ๋ฐ์ดํฐ๋ฅผ ๋ฌธ์ํํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค(๋ค๋ฅธ ์ธ์ด๋ก ์์ฑ๋ ๊ฒฝ์ฐ ํนํ ์ ์ฉํจ).
JSON ๋ฐ์ดํฐ ๊ตํ ํ์์ ์น ๊ฐ๋ฐ์์ ๋ฐ์ดํฐ ์ ์ฅ์ ์ด๋ฅด๊ธฐ๊น์ง ๋ค์ํ ์ปจํ ์คํธ์์ ์ฌ์ฉ๋ฉ๋๋ค. ๋ณต์กํ ๋ฐ์ดํฐ๋ฅผ ๋จ์ผ ๋ฌธ์์ด๋ก ์ง๋ ฌํํ๋ ๊ฐ๋จํ ๋ฐฉ๋ฒ์ด๊ธฐ ๋๋ฌธ์ ์น API์ ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ์ ์ ๋ณด๋ฅผ ๊ณต์ ํ๋ ๋ฐ ์ด์์ ์ธ ํ์์ด๊ธฐ๋ ํฉ๋๋ค.
JSON ๋ XML: ์ฐจ์ด์
JSON ๋ XML: ์ฒซ ๋ฒ์งธ ์ฐจ์ด์
JSON ์ JavaScript Object Notation์ ์ฝ์์ ๋๋ค. ํ ์คํธ ๊ธฐ๋ฐ์ ๊ฐ๋ฐฉํ ํ์ค ๋ฐ์ดํฐ ๊ตํ ํ์์ ๋๋ค. JSON ์ ๊ฐ๋ณ๊ณ ์ฝ๊ธฐ ์ฝ์ง๋ง ์คํค๋ง ๋๋ ์ ํ ์ ๋ณด๋ฅผ ์ ๊ณตํ์ง ์์ต๋๋ค. ์ฌ๋ฌ ์์ฉ ํ๋ก๊ทธ๋จ ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ๊ณต์ ํ๋ ๋ฐ ์ ์ฉํฉ๋๋ค. XML ์ ํ์ฅ ๊ฐ๋ฅํ ๋งํฌ์ ์ธ์ด๋ฅผ ๋ํ๋ ๋๋ค. ํธ๋ฆฌ ๊ตฌ์กฐ์์ ๋ชจ๋ XML ํ์ผ์ ๊ตฌ์กฐ๋ฅผ ์ ์ํ๋ ๋งํฌ์ ์ธ์ด์ ๋๋ค. XML ์ ์ฌ๋์ด ์ฝ์ ์ ์์ง๋ง ๋ฐ๋์ ๊ธฐ๊ณ๊ฐ ์ฝ์ ์ ์๋ ๊ฒ์ ์๋๋๋ค. ํ๋ก๊ทธ๋จ๊ณผ ๋ฌธ์ ๊ฐ์ ๊ตฌ์กฐํ๋ ์ ๋ณด๋ฅผ ๊ณต์ ํ๋ ๋ฐ ์ฌ์ฉํ ์ ์์ต๋๋ค.
JSON ๋ XML: ๋ ๋ฒ์งธ ์ฐจ์ด์
JSON ๋ฐ XML ์ ๊ตฌ์กฐํ๋ ๋ฐ์ดํฐ๋ฅผ ํ์ผ ๋๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅํ๋ ๋๋ฆฌ ์ฌ์ฉ๋๋ ๋ฐฉ๋ฒ์ ๋๋ค. ์์ ์ธ๊ธํ๋ฏ์ด JSON ์ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ฅผ ํํํ๋ ๊ฐ๋ณ๊ณ ์ฌ๋์ด ์ฝ์ ์ ์๋ ๋ฐฉ๋ฒ์ธ ๋ฐ๋ฉด XML ์ฝ๋๋ ๊ตฌ์กฐํ๋ ๋ฐ์ดํฐ๋ฅผ ํํํ๋ ๋ ๊ธด ๋ฐฉ๋ฒ์ ๋๋ค.
JSON ๋ XML: ์ธ ๋ฒ์งธ ์ฐจ์ด์
์ด ๋ ๋ฐ์ดํฐ ํ์์ ์ฃผ์ ์ฐจ์ด์ ์ค ํ๋๋ JSON ์ JavaScript ๋๋ ์ผ๋ฐ ํ ์คํธ ํ์ผ๊ณผ ํจ๊ป ์ฌ์ฉํ ์ ์๋ ๋ฐ๋ฉด XML ์ ํ ์คํธ ํ์ผ๋ก๋ง ์ ์ฅํ ์ ์๋ค๋ ๊ฒ์ ๋๋ค. ๋ํ JSON ์ ์ ๋ณด๋ฅผ ์ฒ๋ฆฌํ ๋ XML ์ํํธ์จ์ด๋ณด๋ค ์ ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฌ์ฉํฉ๋๋ค. ์ด๋ฌํ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ์ ์ฃผ์ ์ฐจ์ด์ ์ผ๋ก ์ธํด JSON ์ ๋์ฉ๋ ๋ฐ์ดํฐ๋ฅผ ๋น ๋ฅด๊ฒ ์ฒ๋ฆฌํ๋ ๋ฐ ์ด์์ ์ธ ํ์์ ๋๋ค.
JSON ๋ XML: ๋ค ๋ฒ์งธ ์ฐจ์ด์
JSON ํ์์ ๋ฐ์ดํฐ๋ฅผ ์์ถํ์ฌ ํ๋ก๊ทธ๋จ์ด ์ฝ์ ์ ์๋๋ก ์ ์ฅํ๋ ๋ฐฉ๋ฒ์ ๋๋ค. ๋ ์ ์ ๋ฌธ์๋ฅผ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ ์ผ๋ฐ์ ์ผ๋ก XML ๋ณด๋ค ์ฐ๊ณ ์ฝ๊ธฐ๊ฐ ๋ ์ฝ์ต๋๋ค. ๋์์ XML ๋ฐ์ดํฐ ํ์์ ๋ฐ์ดํฐ๋ฅผ ์กฐ์ง์ ์ผ๋ก ์ ์ฅํ๊ธฐ ์ํ ํน์ ํ์์ ๋งํฌ์ ์ธ์ด์ ๋๋ค. JSON ๋ณด๋ค ๋ ๋ง์ ๊ธฐ๋ฅ์ด ์์ง๋ง ์ฝ๊ธฐ ์ ์ ๋ฌธ์ ๊ตฌ์กฐ์ ๋ํ ๋ ๋ง์ ์ ๋ณด๊ฐ ํ์ํ๊ธฐ ๋๋ฌธ์ ๋ ๋ณต์กํฉ๋๋ค.
JSON ๋ XML: ๋ค์ฏ ๋ฒ์งธ ์ฐจ์ด์
JSON ํ์์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ ์ ์กํ๋ ๋ฐ ์ฌ์ฉ๋๋ ๋ฐ๋ฉด XML ์ ๊ธฐ๊ณ๊ฐ ์ฝ์ ์ ์๋ ๋ฐฉ์์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ๋ํ๋ด๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. JSON ์ ๋จ์์ฑ ๋๋ฌธ์ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ์ฅ ๋งค์ฒด๋ก ์ธ๊ธฐ๋ฅผ ์ป๊ณ ์์ต๋๋ค. ์ด์ ๋์กฐ์ ์ผ๋ก XML ์ ์น์ ํตํด ๊ตฌ์กฐํ๋ ๋ฐ์ดํฐ๋ฅผ ์ ์กํ๊ธฐ ์ํ ์ ํ์ ๋๋ค.
JSON ๋ XML: ์ฌ์ฏ ๋ฒ์งธ ์ฐจ์ด์
์ด ๋ ๋ฐ์ดํฐ ํ์์ ์ฃผ์ ์ฐจ์ด์ ์ค ํ๋๋ JSON ์ด ์ผ๋ฐ์ ์ผ๋ก XML ๋ณด๋ค ๋ ์์ถ๋์ด ๋คํธ์ํฌ๋ฅผ ํตํด ๋ ๋น ๋ฅด๊ฒ ์ ์กํ ์ ์๋ค๋ ๊ฒ์ ๋๋ค. JSON ์ ๋ํ ๊ตฌ์กฐ์ ๋ํ ์ ํ์ด ์ ๊ธฐ ๋๋ฌธ์ ํ๋ก๊ทธ๋๋จธ๊ฐ ๋ง์ ์์ ๋ฐ์ดํฐ๋ฅผ ๊ตฌ๋ฌธ ๋ถ์ํ ๋ ๋์์ด ๋ฉ๋๋ค. ๋ํ ๋ง์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๊ฐ ๋ ํ์์ ๋ชจ๋ ์ง์ํ๋ฏ๋ก ๋ค๋ฅธ ํ๋ซํผ์ด๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ก ์์ ํ ๋ ๋ ํ์ ๊ฐ์ ์ ํํ ํ์๊ฐ ์์ต๋๋ค.
JSON ๋ XML: ์ผ๊ณฑ ๋ฒ์งธ ์ฐจ์ด์
JSON ์ ์น ๋ฐ ๋ชจ๋ฐ์ผ ์ฑ์์ ๋๋ฆฌ ์ฌ์ฉ๋๊ธฐ ๋๋ฌธ์ ํธํ์ฑ ๋ฌธ์ ์ ๋ํด ๊ฑฑ์ ํ์ง ์๊ณ ์น ์ ํ๋ฆฌ์ผ์ด์ ๋๋ ๋ชจ๋ฐ์ผ ์ฑ์์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๋ฐ๋ฉด์ XML ์ ํ๋ซํผ ๊ฐ ํธํ์ฑ๊ณผ ๊ด๋ จํ์ฌ ๋ช ๊ฐ์ง ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ๋ง์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด(Actionscript ์ ์ธ)์์ ์ง์ํ์ง ์์ผ๋ฏ๋ก ๊ฐ๋ฐ์๋ ์ฑ์ ์ฌ๋ฌ ํ๋ซํผ์์ ๋์์ ์คํํ๋ ค๋ฉด Apache HttpComponents ๋๋ Apache axis2์ ๊ฐ์ ๋๊ตฌ ์ฌ์ฉ ์ค์์ ์ ํํด์ผ ํฉ๋๋ค.
JSON ๋ XML: ์ฌ๋ ๋ฒ์งธ ์ฐจ์ด์
XML ํ์ผ์ JSON ํ์ผ๋ณด๋ค ๋ ๋ง์ ์ ์ฅ ๊ณต๊ฐ์ด ํ์ํฉ๋๋ค(์ ์ด๋ Node์ ํจ๊ป ์ฌ์ฉํ๋ ๊ฒฝ์ฐ). ๊ทธ๋ฌ๋ ์ผ๋ฐ์ ์ผ๋ก ์น ์๋ฒ์ ์ด๋ฌํ ํ์ผ์ ์ ์ฅํ๋ ๋ฐ ์ฌ์ฉํ ์ ์๋ RAM์ด ์ถฉ๋ถํ๋ค๋ฉด ๋ฌธ์ ๊ฐ ๋์ง ์์ต๋๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด ๋๋ฌด ๋ง์ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ์ฐจ์งํ๊ฒ ๋๋ ๋ค์์๊ฐ ์๋๋ผ ํด๋ผ์ด์ธํธ ์ธก์์ ๋ชจ๋ ์ฒ๋ฆฌ๊ฐ ์ด๋ฃจ์ด์ง๋๋ก ์ฑ์ ์ํคํ ์ฒ๋ฅผ ๋ณ๊ฒฝํ๋ ๊ฒ์ ๊ณ ๋ คํด์ผ ํฉ๋๋ค.
JSON ๋ XML: ์ํ ๋ฒ์งธ ์ฐจ์ด์
JSON ๊ณผ XML ์ ์ฃผ์ ์ฐจ์ด์ ์ค ํ๋๋ XML ์ด JSON ๋ณด๋ค ๋ ์๊ฒฉํ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง๊ณ ์์ด ๋ฌธ์๋ฅผ ์์์ํค์ง ์๊ณ ์กฐ์ํ๊ธฐ๊ฐ ๋ ์ด๋ ต๋ค๋ ๊ฒ์ ๋๋ค. ๋ํ ๋๋ถ๋ถ์ XML ํ์ผ์ JSON ๋ฌธ์์ ๊ฐ์ ์์น์์ ํธ์งํ ์ ์์ต๋๋ค. ๋ฐ๋ผ์ JSON ๋ฌธ์์์ ์์์ ๊ฐ์ ๋ณ๊ฒฝํ๋ ค๋ ๊ฒฝ์ฐ ํ ์คํธ ํธ์ง๊ธฐ์์ ์ง์ ๊ฐ์ ํธ์งํ๋ฉด ์๋ฃ๋ฉ๋๋ค. ์ด๊ฒ์ ์ ์์ ์ธ ์ฌ์ฉ์๊ฐ ๋จ์ํ ๋ฌธ์ ์์ฒด๋ฅผ ํธ์งํ๊ณ ํ๋ก๊ทธ๋จ ์ถ๋ ฅ์ ๋ฐ์ํ๋๋ก ํ์ฌ ์์์ ๊ฐ์ ๋ณ๊ฒฝํ ์ ์์์ ์๋ฏธํฉ๋๋ค.
JSON ๋ XML: 10๋ฒ์งธ ์ฐจ์ด์
JSON ๋ฐ XML ๊ตฌ๋ฌธ ;
- JSON ๊ตฌ๋ฌธ์ XML ๋ณด๋ค ๋ ๊ฐ๊ฒฐํฉ๋๋ค.
- JSON ๊ตฌ๋ฌธ์ ์ฝ๊ณ ์ฐ๊ธฐ๊ฐ ๋ ์ฝ์ต๋๋ค.
JSON ๊ตฌ๋ฌธ์ ์ฌ์ฉํ๋ฉด XML ๊ตฌ๋ฌธ์ ๋ฐฐ์ด์ด๋ ์ปฌ๋ ์ ์ ์ฌ์ฉํ๋ ๋ณด๋ค ์ฅํฉํ ๋ฐฉ์๊ณผ ๋ฌ๋ฆฌ ๊ฐ์ฒด๋ฅผ ์ฝ๊ฒ ์ ์ํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด:
```์๋ฐ์คํฌ๋ฆฝํธ ํจ์ myFunction(๋ ์ง) { return { "๋ ์ง": ๋ ์ง }; } var obj = Object.create(null); obj["๋ ์ง"] = ์๋ก์ด ๋ ์ง(); ```
- XML ๊ตฌ๋ฌธ์ ๊ฒฝ์ฐ์ ๋ฐ๋ผ ํ์ํ์ง ์์ ์ ์๋ ์ํฐํฐ ์ฐธ์กฐ๊ฐ ํ์ํ๊ธฐ ๋๋ฌธ์(์: API ์๋น์ค๋ฅผ ๋ง๋๋ ๊ฒฝ์ฐ) JSON ๋ณด๋ค ๋ ๋ณต์กํ๋ค๋ ์ ์ ๊ธฐ์ตํ๋ ๊ฒ๋ ์ค์ํฉ๋๋ค. XML ์ ์ฌ๋์ด ์ฝ์ ์ ์์ต๋๋ค. JSON ์ ๋ ์ ์ ๋ฌธ์๋ฅผ ์ฌ์ฉํ๋ฏ๋ก ๋ฐ์ดํฐ๊ฐ ์๋ฏธํ๋ ๋ฐ๋ฅผ ๋ ์ฝ๊ฒ ์ดํดํ ์ ์๊ธฐ ๋๋ฌธ์ XML ๋ณด๋ค JSON ์ ์ฝ๋ ๊ฒ์ด ํจ์ฌ ์ฝ์ต๋๋ค. JSON ์ ๋ ๊ฐ๊ฒฐํฉ๋๋ค. XML ๊ณผ ๋์ผํ ์ ๋ณด๋ฅผ ๋ํ๋ด๊ธฐ ์ํด ๋ ์ ์ ์์ ๋ฌธ์๋ฅผ ์ฌ์ฉํฉ๋๋ค.
JSON ๋ XML: 11๋ฒ์งธ ์ฐจ์ด์
- JSON ๋ฐ XML ์์ ๊ฐ์ ๋ฐ์ดํฐ ์ ํ์ ๊ฐ์ฒด ๋๋ ์์๋ก ์ธ์ฝ๋ฉ๋ฉ๋๋ค. JSON ์์๋ ๋ฌธ์์ด, ์ซ์, ๋ถ์ธ ๋ฐ null๋ง ๋ฐ์ดํฐ ์ ํ์ผ๋ก ์ง์๋ฉ๋๋ค. ๋ฐ๋ฉด์ XML ๋ฐ์ดํฐ์์๋ ๋ ์ง ๋ฐ ์๊ฐ๊ณผ ๊ฐ์ ๋ค๋ฅธ ๋ง์ ์ ํ์ ์ฌ์ฉํ์ฌ XML ๋ฐ์ดํฐ๋ฅผ ์ค๋ช ํ ์ ์์ต๋๋ค.
- JavaScript ๊ฐ์ฒด ํ๊ธฐ๋ฒ์์ ๋ฐ์ดํฐ ์ ํ์ ์ด๋ค ์์ผ๋ก๋ ์ธ์ฝ๋ฉ๋์ง ์์ต๋๋ค. JSON ์ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ฒด ๋ฐ ๋ฐฐ์ด๋ก ํํํ๋ ๋ฐฉ๋ฒ์ ๊ฒฐ์ ํ๋ ๊ฒ์ ๊ฐ๋ฐ์์ ๋ชซ์ ๋๋ค. ๊ฒฐ๊ณผ์ ์ผ๋ก JSON ์์ ๊ฐ ๋๋ ์์ฑ ์ด๋ฆ์ผ๋ก ์ฌ์ฉํ ์ ์๋ ํญ๋ชฉ์ ๋ํ ๊ท์น์ ์์ต๋๋ค.
JSON ๋ XML: ์ ์ฌ์
JSON ๊ณผ XML ์ ๋ชจ๋ ์์ฒด ์ค๋ช ํ์์ ๋๋ค.
์์ฒด ์ค๋ช ํ์์ ์ฌ๋์ด ์ฝ์ ์ ์๊ณ , ์ฌ๋์ด ์ธ ์ ์๊ณ , ๊ธฐ๊ณ๊ฐ ์ฝ์ ์ ์๊ณ , ๊ธฐ๊ณ๊ฐ ์ธ ์ ์๋๋ก ์ค๊ณ๋์์ต๋๋ค. ์๋ฅผ ๋ค์ด:
- ์ฌ๋์ด ์ฝ์ ์ ์์ - ๋์ผํ ๋ฐ์ดํฐ๋ฅผ ๋ค์ํ ๋ฐฉ๋ฒ(์: ASCII ํ ์คํธ)์ผ๋ก ํ์ํ ์ ์์ผ๋ฏ๋ก ์ปดํจํฐ๊ฐ ์ด๋ป๊ฒ ์๋ํ๋์ง ๋๋ ๊ฐ์ฒด ๋ด๋ถ์ ์ด๋ค ํน์ ์ ๋ณด๊ฐ ์ ์ฅ๋์ด ์๋์ง ์ ํ์ ์์ด ์ฌ๋์ด ์ฝ๊ฒ ์ดํดํ ์ ์์ต๋๋ค.
- ์ฌ๋์ด ์ฐ๊ธฐ ๊ฐ๋ฅ - ์ฌ๋์ ์์ฑ์ ์ถ๊ฐํ๊ฑฐ๋ ์ ๊ฑฐํ์ฌ ๊ธฐ์กด ๊ฐ์ฒด์ ๋ด์ฉ์ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค.
- ๊ธฐ๊ณ ํ๋ ๊ฐ๋ฅ - ์ซ์ ํ์ ์ง์ ๋ฐฉ๋ฒ์ ๋ํ ๊ท์น์ด ์๊ธฐ ๋๋ฌธ์ ๊ธฐ๊ณ๊ฐ ์ด๋ฌํ ํ์ผ์ ์ดํดํ ์ ์์ต๋๋ค(์: ์์์ ์ฒซ์งธ ์๋ฆฌ๋ ํญ์ ์ค์ ์์).
JSON ๊ณผ XML ์ ๋ชจ๋ ์ฝํ ์ธ ์ ์ ๋ฐ ์ ํจ์ฑ ๊ฒ์ฌ๋ฅผ ์ ์ง์ํฉ๋๋ค.
JSON ๊ณผ XML ์ ๋ชจ๋ ๋๋ฆฌ ์ฌ์ฉ๋๋ฏ๋ก ๋ง์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์์ ์ง์๋ฉ๋๋ค. ์๋ฅผ ๋ค์ด JSON ์ JavaScript, Python, Perl ๋ฐ Ruby์์ ์ง์๋ฉ๋๋ค. XML ๋ฐ์ดํฐ๋ JavaScript, PHP ๋ฐ C#(Microsoft์ C++ ๋ฒ์ )๊ณผ ๊ฐ์ ๋ค์ํ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ ์ง์ํฉ๋๋ค. XML ์ง๋ ฌ ๋ณํ๊ธฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ์ฌ JSON ๋ฌธ์๋ฅผ XML ํ์ผ๋ก ๋ณํํ ์ ์์ต๋๋ค. ํ๊ทธ๋ฅผ ์ฌ์ฉํ์ฌ HTML ํ์ด์ง๋ฅผ ์์ฑํ๊ฑฐ๋ ์ด๋ฏธ์ง๋ฅผ ๋ง๋๋ ๊ฒ๊ณผ ๊ฐ์ ๋ฐฉ๋ฒ์ ๋๋ค.
๋ฐ์ดํฐ ์ง๋ ฌํ
JSON ๋ฐ XML ์ ๋ฐ์ดํฐ ์ง๋ ฌํ(๋ฐ์ดํฐ ๊ตฌ์กฐ๋ฅผ ์ ์ฅ ๋๋ ์ ์ก์ ์ํ ํ์์ผ๋ก ๋ณํ)์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ด๋ HTTP ๋๋ SOAP (๋จ์ ๊ฐ์ฒด ์ก์ธ์ค ํ๋กํ ์ฝ)์ ๊ฐ์ ํต์ ์ฑ๋์ ํตํด ํ ์์ฉ ํ๋ก๊ทธ๋จ์ด๋ ์์คํ ์์ ๋ค๋ฅธ ์์ฉ ํ๋ก๊ทธ๋จ์ด๋ ์์คํ ์ผ๋ก ์ ๋ณด๋ฅผ ์ ๋ฌํ๋ ๋ฐ ์ฌ์ฉํ ์ ์์์ ์๋ฏธํฉ๋๋ค.
ํ ์คํธ ๊ธฐ๋ฐ
์ด ๋ ๋ฐ์ดํฐ ๊ตฌ์กฐ ๊ฐ์ ๊ฐ์ฅ ๋ช ๋ฐฑํ ์ ์ฌ์ ์ค ํ๋๋ JSON ๊ณผ XML ์ด ํ ์คํธ ๊ธฐ๋ฐ์ด๋ผ๋ ๊ฒ์ ๋๋ค. ๊ฒฐ๊ณผ์ ์ผ๋ก ๋ง์ ์ฌ๋๋ค์ JSON ์ด XML ์ ๋ํ ๋ ๊ฐ๋จํ ๋์์ผ๋ก ๋ง๋ค์ด์ก๋ค๊ณ ์๊ฐํฉ๋๋ค.
๊ณ์ธต ๊ตฌ์กฐ
์ ์งธ, ๋ ํ์ ๋ชจ๋ ๊ฐ ํ๋์ ์ด๋ฆ๊ณผ ๊ฐ์ด ์ผํ๋ก ๊ตฌ๋ถ๋ ๊ณ์ธต ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง๊ณ ์์ต๋๋ค.
์ธ์ JSON ์ ์ฌ์ฉํด์ผ ํฉ๋๊น?
JSON ์ ๋ค๋ฅธ ์ด์ ์ฒด์ ๋ ๋ธ๋ผ์ฐ์ ๋ฅผ ์ฌ์ฉํ๋ ์ฌ๋๋ค์ด ๋ณผ ์น ํ์ด์ง๋ฅผ ๋ง๋ค ๋ ์์ฃผ ์ฌ์ฉ๋ฉ๋๋ค. ์น ์๋ฒ ๋๋ ์ฅ์น ๊ฐ์ ๋ฐ์ดํฐ ๊ตํ์๋ ์ฌ์ฉํ ์ ์์ต๋๋ค.
JSON ์ด XML ๋ณด๋ค ๋น ๋ฆ ๋๊น?
JSON ๊ณผ XML ์ ์น ์๋ฒ์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ์ข์ ๋ฐฉ๋ฒ์ด์ง๋ง ์๋ก ๋ค๋ฅธ ์ฅ๋จ์ ์ด ์์ต๋๋ค. JSON ์ ๋ค์๊ณผ ๊ฐ์ ์ด์ ๋ก ๋ ๋น ๋ฆ ๋๋ค.
- JSON ํ์์ XML ๋ณด๋ค ์์ ๊ณต๊ฐ์ ์ฐจ์งํฉ๋๋ค.
- JSON ์๋ ์ ๋ฌธ์๋ฅผ ํธ์งํ๊ณ ์์ฑํ๊ธฐ ์ํ ๋ณด๋ค ๊ฐ๋จํ ๊ตฌ๋ฌธ์ด ์์ด ๋ฐ์ดํฐ์ ๋๋ฒ๊น ์ค๋ฅ์ ๋ ์ฝ๊ฒ ์ ๊ทผํ ์ ์์ต๋๋ค.
- JSON ์ XML ๋ณด๋ค ์ ์ฐํฉ๋๋ค. ๋ค์ํ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์์ ์ฌ์ฉํ ์ ์๋ ๋ฐ๋ฉด XML ์ ๋์์ ํ๋์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด(๋ณดํต Java)์์๋ง ์ฌ์ฉํ ์ ์์ต๋๋ค.
๋์ผํ ์์ ์ ๋ณด๋ฅผ ์ ์ฅํ๋ฉด ๋ ์ ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ JSON ์ ๋ ํ์ ๋ชจ๋์์ ๋์ผํ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ ๋ ๋ ๋น ๋ฆ ๋๋ค. JSON ์ ๋ฌธ์์ด ๋ฐ์ดํฐ ์ ํ์ 1๋ฐ์ดํธ ๋ฌธ์๋ง ์ฌ์ฉํ๋ ๋ฐ๋ฉด XML ์ ๋ค๋ฅธ ๋ชจ๋ ๋ฐ์ดํฐ ์ ํ์ 2๋ฐ์ดํธ ๋ฌธ์๋ฅผ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ ๋๋ค.
๊ทธ๋ฌ๋ ์๋ฐฑ๋ง ๊ฐ์ ์ด๊ณผ ํ๋น ์์ฒ ๊ฐ์ ๊ฐ์ด ํฌํจ๋ ์๋ฐฑ๋ง ๊ฐ์ ํ์ด ํฌํจ๋ Excel ์คํ๋ ๋์ํธ์ ๊ฐ์ ํญ๋ชฉ์ ์ ์ฅํ๊ฑฐ๋ ๋จ์ํ ๋ฌธ์์ด์ด ๋ด์ ์ ์๋ ๊ฒ๋ณด๋ค ๋ ๋ง์ ๊ณต๊ฐ์ด ํ์ํ ๋ค๋ฅธ ํญ๋ชฉ์ ์ ์ฅํ๋ ๊ฒฝ์ฐ XML ์ด ๋ ๋์ ์ ํ์ด ๋ ๊ฒ์ ๋๋ค. ๊ทธ ์ด์ ๋ XML ์ด JSON ๋ณด๋ค ๋ ํจ์จ์ ์ผ๋ก ์ค๋ฅ๋ฅผ ํ์ธํ ์ ์๊ธฐ ๋๋ฌธ์ ๋๋ค(์ด๋ ๊ฒ ํ๋ฉด ์ํํธ์จ์ด์ ๋ฒ๊ทธ๋ฅผ ๋ฐฉ์งํ๋ ๋ฐ ๋์์ด ๋จ).
XML ์ด JSON ๋ณด๋ค ๋ ์์ ํฉ๋๊น?
NIST(National Institute of Standards and Technology)์ ์ฐ๊ตฌ์ ๋ฐ๋ฅด๋ฉด XML ์ด JSON ๋ณด๋ค ๋ ์์ ํฉ๋๋ค. ์ด ์ฐ๊ตฌ๋ ์์ ํ์ง ์์ ์ฑ๋์ ํตํด ์ ์ก๋ ์คํ ์์ค ๋ฐ์ดํฐ ์ธํธ์ ๋ ์ ๋ฐ์ดํฐ ์ธํธ๋ฅผ ๋ชจ๋ ์ฌ์ฉํ์ต๋๋ค. ์ด ์ฐ๊ตฌ๋ XML ์ด JSON ๋ณด๋ค ๊ณต๊ฒฉ๋ฐ์ ๊ฐ๋ฅ์ฑ์ด ๋ ๋์ง๋ง ๋ ๋ค ๊ณต๊ฒฉ์ ์ทจ์ฝํ๋ค๋ ๊ฒ์ ๋ฐ๊ฒฌํ์ต๋๋ค.
NIST ์ฐ๊ตฌ๋ ๋ํ ๊ณต๊ฒฉ์๊ฐ ์ด๋ค ํ์์ผ๋ก๋ ๋ฐ์ดํฐ๋ฅผ ๋ณ๊ฒฝํ๊ฑฐ๋ ์ญ์ ํ๋ ๊ฒ์ด ์ผ๋ง๋ ์ฌ์ด์ง, ๊ณต๊ฒฉ์๊ฐ ๋ฐ์ดํฐ ์์ฒด์ ๊ตฌ์กฐ(์: ์์ ์์ ๋ณ๊ฒฝ)๋ฅผ ๋ณ๊ฒฝํ ์ ์๋ ๊ฒฝ์ฐ ์ด๋ค ์ผ์ด ๋ฐ์ํ๋์ง ์กฐ์ฌํ์ต๋๋ค. XML ๋ฌธ์ ๋๋ ์ฒ์์ ์กด์ฌํ์ง ์๋ ์์๋ฅผ ์ถ๊ฐํฉ๋๋ค.
JSON ๋ XML: ๊ฒฐ๋ก
JSON ๊ณผ XML ์ ๋ฐ์ดํฐ๋ฅผ ํํํ๋ ์ข์ ๋ฐฉ๋ฒ์ด์ง๋ง ์ฅ์ ๊ณผ ๋จ์ ์ด ์์ต๋๋ค. XML ์ ์ค๋ซ๋์ ์ฌ์ฉ๋์ด ์์ผ๋ฉฐ ์ํฐํ๋ผ์ด์ฆ ํ๊ฒฝ์์ ๋๋ฆฌ ์ฌ์ฉ๋ฉ๋๋ค. JSON ์ ์ต์ ๋ฒ์ ์ด์ง๋ง ๋ฐ์ดํฐ ๊ตํ์ ์ํ ๊ฐ๋จํ ๊ตฌ๋ฌธ์ ์ฐพ๋ ๊ฐ๋ฐ์๋ค ์ฌ์ด์์ ์ธ๊ธฐ๋ฅผ ์ป๊ณ ์์ต๋๋ค.
JSON ๊ณผ XML ์ค ์ ํ์ ํ์์ ๋ฐ๋ผ ๋ค๋ฆ ๋๋ค. ๋๋์ ๋ฐ์ดํฐ๋ก ์์ ํ๋ ๊ฒฝ์ฐ XML ์ด ๋ ์ ํฉํ ์ ์์ต๋๋ค. API ๋๋ SOAP ๋ฅผ ์ฌ์ฉํ์ฌ ๋ค๋ฅธ ์ ํ๋ฆฌ์ผ์ด์ ๊ณผ ํต์ ํด์ผ ํ๋ ๊ฒฝ์ฐ JSON ์ด ๋ ๋์ ์ ์์ต๋๋ค. ๋ ๊ฒฝ์ฐ ๋ชจ๋ ๊ฐ์ฅ ์ข์ ๋ฐฉ๋ฒ์ ๊ฐ ํ์์ ์ฅ๋จ์ ์ ์กฐ์ฌํ๊ณ ํ๋ก์ ํธ์ ๊ฐ์ฅ ์ ํฉํ ๊ฒ์ ๊ฒฐ์ ํ๋ ๊ฒ์ ๋๋ค!
no-code ํ๋ซํผ AppMaster ๋ฅผ ์ฌ์ฉํ์ฌ ํ๋ก์ ํธ๋ฅผ ์์ฑํ๋ฉด ๋ฐฑ์๋๊ฐ ์์ฑ๋ ๋ REST API๊ฐ ์๋์ผ๋ก ์์ฑ๋ฉ๋๋ค. AppMaster ์๋ 3๊ฐ์ง ์ ํ์ ์๋ํฌ์ธํธ ๊ฐ ์์ต๋๋ค.
-
์นํ
์ฌ์ฉ์๋ JSON ํ์(๊ธฐ๋ณธ๊ฐ), XML ๋๋ ๋ฐ์ด๋๋ฆฌ ํ์(RAW)์ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ๋๋ก ์ ํํ ์ ์์ต๋๋ค. ๋ชจ๋ API ์ ํ์ ๋ํด AppMaster ๋ OPEN API ํ์( Swagger)์ผ๋ก ๋ฌธ์๋ฅผ ์๋์ผ๋ก ์์ฑํฉ๋๋ค.


