์๋ฐ์คํฌ๋ฆฝํธ์์ JSON ๋ฐ์ดํฐ๋ ๋งค์ฐ ์ ์ฉํ๊ฒ ์ฌ์ฉ๋๋ค. ๊ทธ๋งํผ key ๊ฐ์ ์ง์ ํ๋ ๊ฒ๋ ์ค์ํ๋ค.
๊ฐ๋ฐ์ ํ ์๋ก JSON์ key ๊ฐ์ด ํ์ํ ์ํฉ์ด ์ข ์ข ๋ํ๋๋๋ฐ, ๊ทธ๋ด ๋๋ฉด ๋ด๊ฐ JSON ๋ฐ์ดํฐ ํ์์ ์๋ชป ๋ฌถ์๋ค๊ณ ํ๋จํ๊ฒ ๋๋ค. ์ฐ์ ์ด ์๊ธฐ๋ ๋ค์์ ํ๊ธฐ๋ก ํ๊ณ , JSON์ key ๊ฐ์ ๊ฐ์ ธ์ค๋ ์ธ ๊ฐ์ง ๋ฐฉ๋ฒ์ ์์๋ณด์.
1. keys()
Object.keys(JsonData);
Object.keys ๋ฌธ๋ฒ์ ํ๋ผ๋ฉํฐ๋ก ํค๋ฅผ ์ฐพ๊ณ ์ถ์ ๋ฐ์ดํฐ๋ฅผ ๋ฃ์ด์ฃผ๋ฉด ๋๋ค.
data.code๋ key๊ฐ CMP011์ด๊ณ value๊ฐ List์ธ JSON ๋ฐ์ดํฐ์ด๋ค. key๊ฐ ํ๋๋ง ์กด์ฌํ๋ค.
์์ ํจ์๋ฅผ ์คํํ๋ฉด key์ ๊ฐ์ด ๋ฆฌ์คํธ๋ก ๋ฐํ๋๋ค. key๊ฐ ํ๋์ฌ๋ ๋ฆฌ์คํธ๋ก ๋ฐํ๋๋ค.
2. getOwnPropertyNames()
Object.getOwnPropertyNames(JsonData);
keys()์ ๊ฑฐ์ ๊ฐ์ ๊ธฐ๋ฅ์ ํ๋ค. ๊ทธ๋ ์ง๋ง keys()๋ณด๋ค ๋น ๋ฅด๊ฒ ์ํ๋๋ค.
์๊น์ ๊ฐ์ ๊ทธ JSON ๋ฐ์ดํฐ๋ก getOwnPropertyNames()๋ฅผ ์ํํ๋ฉด ๋ค์๊ณผ ๊ฐ์ด ๋ฐํ๋๋ค.
๋ฐํ๊ฐ๋ ๋๊ฐ์ด key ๊ฐ์ด ๋ฆฌ์คํธ๋ก ๋ฐํ๋๋ค. ํจ์๋ช ์ ์กฐ๊ธ ๋ ๊ธธ์ง ๋ชฐ๋ผ๋, for๋ฌธ๊ณผ ๊ฐ์ด ๋ฃจํ๋ฅผ ๋์ ์ฐพ์์ฃผ๋ keys()๋ณด๋ค ์กฐ๊ธ ๋ ๋น ๋ฅด๋ค.
3. for( key in JSON)
var keys=[];
for(key in JsonData) {
keys.push(key)
}
์ง์ for ๋ฌธ์ ๋์ key๋ฅผ ์ฐพ์๋ผ ์ ์๋ค. ์ด ๋ฐฉ๋ฒ์ ๊ทธ๋ฅ key ๊ฐ์ ์ฐพ์ ๋๋ง ์ฌ์ฉํ๊ธฐ์๋ ๋งค์ฐ ๋นํจ์จ์ ์ด๊ณ , key ๊ฐ์ ์ฐพ์ผ๋ฉด์ ๋ค๋ฅธ ๊ธฐ๋ฅ์ ์ํํ ๋ ์ ์ฉํ๊ฒ ์ธ ์ ์๊ฒ ๋ค.
๊ทธ๋ผ ์ด์ ์ฒ์์ผ๋ก ๋์๊ฐ์... key ๊ฐ์ ์ฐพ์์ ์ฐ๋ ์ํฉ์ด ์ ์์ข๋ค๊ณ ์๊ฐํ๊ฒ ๋์๋์ง ๋งํด๋ณด์.
๋ด๊ฐ ์์๋ก ๋ค์ Json ๋ฐ์ดํฐ๋ key ๊ฐ์ด "์ฝ๋๋ช CMP011"์ด๊ณ , value ๊ฐ์ด "์๋ถ๋ฅ ์ฝ๋๋ค(Array(3))"๋ก ์ด๋ฃจ์ด์ ธ์๋ค.
์ฌ๊ธฐ์ ๋ฌธ์ ๋ "์ฝ๋๋ช CMP011" ๋ํ ์๋ฏธ๋ฅผ ๊ฐ์ ธ ์ฌ์ฉํด์ผ ํ๋ ๊ฐ์ด๋ผ๋ ์ ์ด๋ค. ๊ทธ๋ผ ์ด ๊ฐ์ key๊ฐ ์๋ value๊ฐ ๋์ด์ผ ํ๋ค.
์ด ์ฝ๋์ ์๋ถ๋ฅ ์ฝ๋๋ค๊ณผ ๋ฌถ์ด์ ์ ์ฅํ๋ ค๊ณ key๋ก ๋ง๋ค์ด๋ฒ๋ฆฐ ๊ฒ์ด๋ค. ๊ทธ๋ ์ง๋ง ์ฝ๋๋ช ์ด ํ์ํ ์ํฉ์ด ๋ง์ผ๋ ์๊พธ data.code์ key๊ฐ์ ์ฐพ์์ผ ํ๋ ์ํฉ์ด ์ค๊ฒ ๋ ๊ฒ์ด๋ค. ์ด ๊ธ์ ์ฝ๋ ๋๋ถ๋ถ์ ๊ฒฝ์ฐ๋ ์ด์ ๋น์ทํ์ง ์์๊น ์์ํด๋ณธ๋ค.
๋ค์๊ณผ ๊ฐ์ด ํํ๋ฅผ ๋ฐ๊พธ์ด ์ฃผ์ด์ผ ํจ์จ์ ์ด๊ฒ ๋ค.
key๋ ๋ง ๊ทธ๋๋ก ์ฌ์ฉํด์ผํ๋ ๊ฐ์ด ์๋, ๊ทธ ๊ฐ์ ํํํ๋ ์ด๋ฆ์ผ๋ก ๋ช ์ํด์ฃผ์ด์ผ ํ๋ ๊ฒ์ด๋ค.
{ ์ฝ๋๋ช : cmp, ์๋ถ๋ฅ์ฝ๋๋ฆฌ์คํธ : Array(3) } ์ด๋ ๊ฒ ๋ฌถ์ด์ฃผ๊ณ , ๋ค๋ฅธ ์ฝ๋๋ค์ด ์๊ธด๋ค๋ฉด
[ { ์ฝ๋๋ช : cmp, ์๋ถ๋ฅ์ฝ๋๋ฆฌ์คํธ : Array(3) }, { ์ฝ๋๋ช : tas, ์๋ถ๋ฅ์ฝ๋๋ฆฌ์คํธ : Array(4) } ] ์ด๋ ๊ฒ ๋ฆฌ์คํธ๋ก ๋ฌถ์ด์ฃผ๋ฉด ๋!
์ด์ ๊ฐ์ธ์ ์ธ JSON Data์ ๋ํ ์๊ฒฌ์ด์๋ค!
์๋ฐ์คํฌ๋ฆฝํธ, JS, JSON, JavaScript, JSON Object, keys, key, getKey, getOwnPropertyNames, for
๋๊ธ