๋ชจ๋ฐ์ผ ์ฑ ๊ฐ๋ฐ์ ๋งฅ๋ฝ์์ JavaScript Object Notation์ ์๋ฏธํ๋ JSON์ ์๋ฒ์ ํด๋ผ์ด์ธํธ ๊ฐ์ ๊ตฌ์กฐํ๋ ๋ฐ์ดํฐ๋ฅผ ์ ์กํ๋ ๋ฐ ์ฌ์ฉ๋๋ ๊ฐ๋ณ๊ณ ํ ์คํธ ๊ธฐ๋ฐ์ด๋ฉฐ ์ฝ๊ธฐ ์ฌ์ด ๋ฐ์ดํฐ ๊ตํ ํ์์ ๋๋ค. JSON์ ์ธ์ด ๋ ๋ฆฝ์ ์ด์ง๋ง JSON์ JavaScript์ ๋ฟ๋ฆฌ๋ฅผ ๋๊ณ ์์ผ๋ฉฐ XML๊ณผ ๊ฐ์ ๋ค๋ฅธ ํ์์ ๋นํด ๋ฐ์ดํฐ ์ฒ๋ฆฌ ๋ฐ ๊ตฌ๋ฌธ ๋ถ์์ด ๊ฐํธํ๊ธฐ ๋๋ฌธ์ ์์ฒญ๋ ์ธ๊ธฐ๋ฅผ ์ป์์ต๋๋ค. JSON์ AppMasterno-code ํ๋ซํผ์ ๋น๋กฏํ ๋ค์ํ ๋ชจ๋ฐ์ผ ์ฑ ๊ฐ๋ฐ ํ๊ฒฝ์์ ์ฌ์ฉ๋๋ ์น API์ ๋๋ฆฌ ์ฑํ๋ ํ์ค์ด ๋์์ต๋๋ค.
JSON์ ํค-๊ฐ ์์ ํํ๋ก ๋ฐ์ดํฐ๋ฅผ ์ธ์ฝ๋ฉํ๊ณ ๋์ฝ๋ฉํ๋ ํจ์จ์ ์ธ ๋ฐฉ๋ฒ์ ๋๋ค. ์ฌ๊ธฐ์ ํค๋ ๋ฌธ์์ด์ด๊ณ ๊ฐ์ ๋ฌธ์์ด, ์ซ์, ๋ถ์ธ, ๋ฐฐ์ด ๋๋ ๊ธฐํ JSON ๊ฐ์ฒด์ผ ์ ์์ต๋๋ค. ์ด ํ์์ ์ฌ์ฉํ๋ฉด ๋ค์ํ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์์ ํธํ์ฑ์ด ๋์ ๊ฐ๋ฐ์๊ฐ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ฅผ ์ํํ๊ฒ ์ฌ์ฉํ๊ณ CRUD(์์ฑ, ์ฝ๊ธฐ, ์ ๋ฐ์ดํธ ๋ฐ ์ญ์ ) ์์ ์ ์ฝ๊ฒ ์ํํ ์ ์์ต๋๋ค.
์๋ฅผ ๋ค์ด, ์ฌ์ฉ์ ๋ชฉ๋ก์ ๋ํ๋ด๋ ๋ค์ JSON ๋ฐ์ดํฐ๋ฅผ ๊ณ ๋ คํด ๋ณด์ธ์.
{
"์ฌ์ฉ์": [
{
"ID": 1,
"์ด๋ฆ": "John Doe",
"์ด๋ฉ์ผ": "[email protected]"
},
{
"ID": 2,
"์ด๋ฆ": "์ ์ธ ์ค๋ฏธ์ค",
"์ด๋ฉ์ผ": "[email protected]"
}
]
}
์ด ๋ฐ์ดํฐ๋ ๊ฐ๊ฐ ์ฌ์ฉ์๋ฅผ ๋ํ๋ด๋ ๋ ๊ฐ์ ๊ฐ์ฒด๋ฅผ ๋ณด์ ํ๋ ๋ฐฐ์ด ๊ฐ๊ณผ ๋จ์ผ ํค("users")๋ก ๊ตฌ์ฑ๋ฉ๋๋ค. JSON ๊ตฌ์กฐ์ ๋จ์์ฑ๊ณผ ๊ฐ๋ ์ฑ์ผ๋ก ์ธํด ๊ฐ๋ฐ์๋ ๊ฐ ๋ฐ์ดํฐ ์์๋ฅผ ์ฝ๊ฒ ์๋ณํ๊ณ ์ ํ๋ฆฌ์ผ์ด์ ๋ ผ๋ฆฌ์ ํ์ฉํ ์ ์์ต๋๋ค.
๋ชจ๋ฐ์ผ ์ฑ ๊ฐ๋ฐ์ ๋งฅ๋ฝ์์ JSON์ ์ฑ๊ณผ ์น API ๋๋ ๋ฐ์ดํฐ์ ์๋น์ค๋ฅผ ์ ๊ณตํ๋ ๋ฐฑ์๋ ๊ฐ์ ํต์ ์ ์์ฃผ ์ฌ์ฉ๋ฉ๋๋ค. REST(Representational State Transfer) ์ํคํ ์ฒ ํจํด์ ์ค์ํ๋ ์น API๋ RESTful API๋ก ๋๋ฆฌ ์๋ ค์ ธ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด AppMasterno-code ํ๋ซํผ์ ์๋ฒ์ ํด๋ผ์ด์ธํธ ์ธก ์ ํ๋ฆฌ์ผ์ด์ (์น ๋ฐ ๋ชจ๋ฐ์ผ) ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ์ ์กํ๊ธฐ ์ํด JSON ํ์์ ์ฌ์ฉํ์ฌ ๋ฐฑ์๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ผ๋ถ๋ก REST API endpoints ์๋์ผ๋ก ์์ฑํฉ๋๋ค.
AppMaster ์ฌ์ฉํ์ฌ ๊ฐ๋ฐ์๋ ํ๋ซํผ ๋ด์์ ๋ฐ์ดํฐ ๋ชจ๋ธ, ๋น์ฆ๋์ค ๋ ผ๋ฆฌ๋ฅผ ์ ์ํ๊ณ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฌ์ฉ์ ์ธํฐํ์ด์ค๋ฅผ ์๊ฐ์ ์ผ๋ก ๋์์ธํ ์๋ ์์ต๋๋ค. ์์ฑ๋ ๋ฐฑ์๋ ์ ํ๋ฆฌ์ผ์ด์ ์ Go ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ฅผ ํ์ฉํ๊ณ , ์น ์ ํ๋ฆฌ์ผ์ด์ ์ Vue3 ํ๋ ์์ํฌ ๋ฐ JS/TS๋ก ๊ตฌ์ถ๋๋ฉฐ, ๋ชจ๋ฐ์ผ ์ฑ์ Android์ฉ Kotlin ๋ฐ Jetpack Compose, iOS์ฉ SwiftUI ์ ๊ฐ์ ์๋ฒ ๊ธฐ๋ฐ ํ๋ ์์ํฌ๋ฅผ ํ์ฉํฉ๋๋ค. ์ด๋ฌํ ๋ค์ํ ์ํ๊ณ๋ JSON์ ๋ค์ฉ์ฑ์ผ๋ก๋ถํฐ ํฐ ์ด์ ์ ์ป์ด ์ํํ ๋ฐ์ดํฐ ๊ตํ ๋ฐ ํต์ ์ ๊ฐ๋ฅํ๊ฒ ํฉ๋๋ค.
๋ํ ๋ชจ๋ฐ์ผ ์ฑ ๊ฐ๋ฐ์ ๋ณต์ก์ฑ์ด ์ฆ๊ฐํจ์ ๋ฐ๋ผ JSON์ ์ฑํ ์ ํ๋ฆฌ์ผ์ด์ , ์์ ๋ฏธ๋์ด ์ฑ, ์ ์์๊ฑฐ๋ ํ๋ซํผ ๋ฑ๊ณผ ๊ฐ์ ๋ค์ํ ๋ชจ๋ฐ์ผ ์ฑ ์ฌ์ฉ ์ฌ๋ก์์ ์ค์๊ฐ ์ ๋ณด ๊ตํ์ ์ฒ๋ฆฌํ๋ ๋ฐ ์ค์ํ ์ญํ ์ ํฉ๋๋ค. ๋คํธ์ํฌ๋ฅผ ํตํด ๋ฐ์ดํฐ๋ฅผ ์ ์กํ๋ ํจ์จ์ฑ์ด ๋ฐ์ด๋๊ณ XML์ ๋นํด ๋ฐ์ดํฐ ๊ณต๊ฐ์ด ์๊ธฐ ๋๋ฌธ์ JSON์ ์ฌ๋ฌ ํ๋ซํผ๊ณผ ํ๊ฒฝ์ ์ํ ๋ชจ๋ฐ์ผ ์ฑ์ ๊ฐ๋ฐํ๋ ๊ฐ๋ฐ์์ ์กฐ์ง์์ ์ ํธํ๋ ์ ํ์ ๋๋ค.
JSON์ด ์ ๊ณตํ๋ ํนํ ์ค์ํ ์ด์ ์ค ํ๋๋ ์ฑ ์คํ ์ด์ ๋ค์ ์ ์ถํ ํ์ ์์ด ์๋ฒ ์ค์ฌ ์ ๊ทผ ๋ฐฉ์์ผ๋ก ์ํํ ๋ชจ๋ฐ์ผ ์ฑ ์ ๋ฐ์ดํธ๋ฅผ ๊ฐ๋ฅํ๊ฒ ํ๋ ๊ธฐ๋ฅ์ ๋๋ค. ์ฆ, ๊ฐ๋ฐ์๋ JSON์ ์ฌ์ฉํ์ฌ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ฐ์ดํฐ ๋ชจ๋ธ, ๋ ผ๋ฆฌ ๋ฐ ์ฌ์ฉ์ ์ธํฐํ์ด์ค๋ฅผ ์ ์ํ๊ฒ ์ ๋ฐ์ดํธํ์ฌ ์ ๋ฐ์ดํธ๋ ์ ๋ณด๋ฅผ ์ ์กํ ์ ์์ผ๋ฏ๋ก ๋ณ๊ฒฝ ์ฌํญ์ ๋ฐฐํฌํ๊ณ ๋ชจ๋ฐ์ผ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ์ง ๊ด๋ฆฌํ๋ ๋ฐ ๋๋ ์๊ฐ๊ณผ ๋ ธ๋ ฅ์ ํฌ๊ฒ ์ค์ผ ์ ์์ต๋๋ค.
์์ฝํ์๋ฉด, JSON์ ํ๋ ๋ชจ๋ฐ์ผ ์ฑ ๊ฐ๋ฐ์ ๊ธฐ๋ณธ ์ธก๋ฉด์ผ๋ก, ์ฑ ์ํ๊ณ์ ๋ค์ํ ๊ตฌ์ฑ ์์ ๊ฐ์ ํจ์จ์ ์ด๊ณ ์ฝ๊ธฐ ์ฌ์ด ๋ฐ์ดํฐ ๊ตํ์ ์ ๊ณตํฉ๋๋ค. AppMaster ์ ๊ฐ์ no-code ์๋ฃจ์ ์ ์ฌ์ฉํ๋ ๊ฐ๋ฐ์๋ฅผ ํฌํจํ ์ฑ ๊ฐ๋ฐ์๋ ์๋ฒ ๋ฐฑ์๋์ ๋ชจ๋ฐ์ผ ์ฑ ๊ฐ์ ์ํํ ํต์ ์ ์ํด JSON์ ํ์ฉํ์ฌ ๊ฐ๋ฐ ํ๋ก์ธ์ค๋ฅผ ํฌ๊ฒ ํฅ์์ํค๊ณ ์๋ก์ด ๊ธฐ๋ฅ๊ณผ ์ ๋ฐ์ดํธ๋ฅผ ๋น ๋ฅด๊ฒ ๋ฐฐํฌํ ์ ์์ต๋๋ค. ๋ํ JSON์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ธฐ์ ๋ถ์ฑ๋ฅผ ์ค์ด๋ ๋ฐ ๊ธฐ์ฌํ์ฌ ๋ชจ๋ฐ์ผ ์ฑ ๊ฐ๋ฐ์ ์ถ๊ตฌํ๋ ์ค์๊ธฐ์ ๊ณผ ๋๊ธฐ์ ๋ชจ๋์๊ฒ ๋น์ฉ ํจ์จ์ฑ๊ณผ ํ์ฅ์ฑ์ ์ ๊ณตํฉ๋๋ค.