...

์๋ฐ์คํฌ๋ฆฝํธ์์ YAML ์ฌ์ฉํ๊ธฐ
๋ง์ผ ๋ ธ๋ ํ๋ก์ ํธ์์ yaml ํ์ผ๋ก ๊ตฌ์ฑ๋ ์ค์ ๋ฐ์ดํฐ๋ค์ ๊ฐ์ ธ์ ์ฝ์ผ๋ ค๋ฉด ์ด๋ป๊ฒ ํด์ผ ํ ๊น?
๊ฒฐ๋ก ๋ถํฐ ๋งํ์๋ฉด, ์๋ฐ์คํฌ๋ฆฝํธ ์ธ์ด ์์ฒด์์๋ xml์ด๋ json ๋ฐ์ ์ง์ํ์ง ์์ผ๋, yaml์ json์ผ๋ก ๋ณํํ์ฌ ์ฌ์ฉํ์ฌ์ผ ํ๋ค.
๋ํ์ ์ผ๋ก ์ง์ ์จ๋ผ์ธ ํด๋ก yaml โ json์ผ๋ก ๋ณํ ์ํค๊ณ ์ฌ์ฉํ๊ฑฐ๋, ๋ ธ๋ ํจํค์ง๋ฅผ ์ฌ์ฉํ์ฌ ํ๋ฒ์ yaml ํ์ผ์ ์ฝ์ด์ ์ฌ์ฉํ๋ ๋๊ฐ์ง ๋ฐฉ๋ฒ์ด ์๋ค.
์จ๋ผ์ธ ๋ณํ ํด ์ฌ์ฉ
์ด๋ ต๊ฒ ์๊ฐํ ํ์์์ด, yaml ๋ฐ์ดํฐ๋ฅผ ์ง์ json์ผ๋ก ๋ณํํ๋ค, json ํ์ผ๋ก ์ ์ฅํ๊ณ ํ์ผ ๋์คํฌ๋ฆฝํฐ๋ก ์ฝ์ด ์ค๋ฉด ๋๋ค.
๋ค๋ง ํ๋ก์ ํธ ์ธ์์ด ์ค์ ํ์ผ์ ๊ณ์ yaml๋ก ๊ด๋ฆฌํ๋ค๊ณ ๊ฐ์ ํ๋ค๋ฉด, ๋ฒ์ ์ ์ด ์์๋๋ง๋ค ์ผ์ผํ ๋ณํํ์ฌ ์ฌ์ฉํ๋ ๊ฒ์ ์๋ฌด๋๋ ํ๊ณ๊ฐ ์๋ค.
https://www.json2yaml.com/convert-yaml-to-json
YAML x
www.json2yaml.com

๋ ธ๋ ํจํค์ง ์ฌ์ฉ
์ง์ yaml ํ์ผ์ ์ฝ์ด์ ๋ฐ๋ก ์๋ฐ์คํฌ๋ฆฝํธ ๊ฐ์ฒด๋ก ๋ณํ์์ผ์ฃผ๋ ๋ ธ๋ ํจํค์ง๊ฐ ์กด์ฌํ๋ค.
node-yaml, yamljs, js-yaml ๋ฑ ๋ง์ ํจํค์ง๋ค์ด ์กด์ฌํ์ง๋ง, ๊ฐ์ฅ ๋ค์ด๋ก๋ ์๊ฐ ๋ง์ js-yaml ํจํค์ง๋ฅผ ์๊ฐํด ๋ณธ๋ค.
> npm install js-yaml
js-yaml
YAML 1.2 parser and serializer. Latest version: 4.1.0, last published: a year ago. Start using js-yaml in your project by running `npm i js-yaml`. There are 15550 other projects in the npm registry using js-yaml.
www.npmjs.com

yaml ํ์ฑํ๊ธฐ
๋ค์๊ณผ ๊ฐ์ yaml ๋ฐ์ดํฐ๊ฐ ์๋ค๊ณ ๊ฐ์ ํ์. (ํ์ผ๋ช ์ test.yaml ๋ก ์ง์ ํ๋ค)
name: ๋์ค์ด๋ค ์นํจ
location: ๋ญ๋ณถ๋ก 12๋ฒ๊ธธ
# ๊ฐ๊ฒ ์ฃผ์ธ ์ ๋ณด
owner:
name: ์ฅ๋์ค
age: 44
major: ์ปดํจํฐ๊ณตํ
career:
- ์ฑ ๊ฐ๋ฐ์
- ํ์คํ ๊ฐ๋ฐ์
- SI ๊ฐ๋ฐ์
menus:
- name: ์๋ฐ์นํจ
price: 18000
ingredients:
- ๋ญ
- ํ๊น๊ฐ๋ฃจ
- ์๋ฐ์์ค
- name: ๊น์
price: 6500
ingredients:
- ๋ญ๋ ๊ฐ
- ๋ฌธ์ด๋ค๋ฆฌ
- name: ์คํ๋ง์๋ค
price: 2000
ingredients:
- ๋ฌผ
- ์คํ
- ๋ฉํ๊ฐ์ค
reviews:
- reviewer:
name: ๋ฐฐ๋ค๋ฅธ๋ฏผ์กฑ
level: Beginner
rating: '1'
comment: ์๋ ์๋ฃ์ ๋ญ๋๊ณ
- reviewer:
name: ๊น๋ฐฅ์
level: VIP
rating: '5'
comment: ๊ฐ๋ฐํ์ฅ๋ ํ๋ด์ธ์. ๋ง์ด ์์ผ๋จน์๊ฒ์.
์ด๋ฅผ js-yaml ๋ชจ๋์ ์ฌ์ฉํ์ฌ, ์๋ฐ์คํฌ๋ฆฝํธ ์์ค์์ ์ค๊ฐ ๋ณํ ๋จ๊ณ ์์ด ๋ฐ๋ก ์ฝ์ด์ ์๋ฐ์คํฌ๋ฆฝํธ ๊ฐ์ฒด๋ก ๊ฐ๋จํ ๋ณํ์ด ๊ฐ๋ฅํ๋ค.
const yaml = require('js-yaml');
const fs = require('fs');
try {
// yaml ๋ฐ์ดํฐ๋ฅผ ์๋ฐ์คํฌ๋ฆฝํธ ๊ฐ์ฒด๋ก ๋ฐ๋ก ๋ณํํ๋ค.
const doc = yaml.load(fs.readFileSync('./test.yaml', 'utf8'));
console.info(doc);
} catch (e) {
console.log(e);
}

์ด๋ ๊ฒ ๊ณง๋ฐ๋ก ์์ค๋จ์์ yaml ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ ์ ์์ผ๋, ์ ์ง๋ณด์ ๋ฉด์์๋ ๋ฌธ์ ๊ฐ ์์ด์ก๋ค.
์ด ๊ธ์ด ์ข์ผ์ จ๋ค๋ฉด ๊ตฌ๋ & ์ข์์
์ฌ๋ฌ๋ถ์ ๊ตฌ๋
๊ณผ ์ข์์๋
์ ์์๊ฒ ํฐ ํ์ด ๋ฉ๋๋ค.