JSONPath ๊ฐ ์ถ์ถ๊ธฐ ์ฌ์ฉ๋ฒ
๊น์ด ์ค์ฒฉ๋ API ์๋ต์์ ์ํ๋ ๊ฐ๋ง ๊บผ๋ด์ผ ํ ๋๊ฐ ์์ต๋๋ค. ๋ชฉ๋ก ์์ ์ ๋ชฉ๋ง ๋ชจ์ผ๊ฑฐ๋, ์ด๋์ ์๋์ง ๋ชจ๋ฅด๋ ํค๋ฅผ ์ ๋ถ ์ฐพ์๋ด๋ ์ผ์ด ๊ทธ๋ ์ต๋๋ค. JSON๊ณผ ๊ฒฝ๋ก๋ฅผ ํจ๊ป ๋ฃ์ผ๋ฉด ์ผ์นํ๋ ๊ฐ๊ณผ ๊ทธ ๊ฐ์ด ์ด๋ ์์น์์ ๋์๋์ง๋ฅผ ํ๋ก ๋ณด์ฌ ์ค๋๋ค.
์์ ํ JSONPath ๊ท๊ฒฉ์ ๊ตฌํ๋ง๋ค ๋์์ด ๊ฐ๋ฆด ๋งํผ ๋๊ธฐ ๋๋ฌธ์, ์ด ๋๊ตฌ๋ ์์ฃผ ์ฐ๋ ๋ฌธ๋ฒ๋ง ์ข๊ฒ ์ง์ํฉ๋๋ค. ์ต์์๋ฅผ ๋ปํ๋ $, ์ ์ผ๋ก ์๋ .ํค, ์ด๋ฆ์ ๊ณต๋ฐฑ์ด๋ ์ ์ด ๋ค์ด๊ฐ ๋ ์ฐ๋ ['ํค'], ๋ฐฐ์ด ์์น๋ฅผ ๊ณ ๋ฅด๋ [๋ฒํธ], ๋ฐฐ์ด์ด๋ ๊ฐ์ฒด์ ๋ชจ๋ ๊ฐ์ ํ๋ [*]์ .*, ๊ทธ๋ฆฌ๊ณ ํ์ ์ด๋์ ์๋ ๊ฐ์ ์ด๋ฆ์ ๋ชจ๋ ์ฐพ๋ ..ํค๊น์ง์ ๋๋ค.
์ง์ํ์ง ์๋ ๋ฌธ๋ฒ์ ์กฐ์ฉํ ๋ฌด์ํ์ง ์๊ณ ๋ฌด์์ ๋ชป ํ๋์ง ์๋ ค ์ฃผ๋ฉฐ ๋ฉ์ถฅ๋๋ค. ์กฐ๊ฑด์ ๊ฑฐ๋ ํํฐ ?(), ๋ฒ์๋ฅผ ์๋ฅด๋ ์ฌ๋ผ์ด์ค [1:3], ์ฌ๋ฌ ๊ฐ๋ฅผ ๋ฌถ๋ [0,1], ์์ ๋ฒํธ๊ฐ ์ฌ๊ธฐ์ ํด๋นํฉ๋๋ค. ๊ฒฝ๋ก๊ฐ ์๋ชป๋์ ๋๋ ๋๊ดํธ๊ฐ ์ ๋ซํ๋์ง, ์ ๋ค์ ์ด๋ฆ์ด ์๋์ง ๊ฐ์ ์ด์ ๋ฅผ ๊ทธ๋๋ก ๋ณด์ฌ ์ค๋๋ค.
JSON ํ์์ด ์๋ชป๋๋ฉด ์ด๋ ์์น์์ ์ฝ๊ธฐ๋ฅผ ์คํจํ๋์ง ๊ทธ๋๋ก ์ ๋ฌํ๋ฏ๋ก ์คํ๋ฅผ ์ฐพ๊ธฐ ์ฝ์ต๋๋ค. ์ผ์นํ๋ ๊ฐ์ด ํ๋๋ ์์ผ๋ฉด ๋น ํ ๋์ ์๋ด ๋ฌธ๊ตฌ๊ฐ ๋น๋๋ค. ๊ฒฐ๊ณผ๊ฐ ์์ฃผ ๋ง์ผ๋ฉด ์์์ ์ผ๋ถ๋ง ํ์ ๋ณด์ฌ ์ฃผ๊ณ ๋ช ๊ฐ๋ง ๋ณด์ฌ ์ฃผ๋์ง ํจ๊ป ์ ์ต๋๋ค. ๋ชจ๋ ์ฒ๋ฆฌ๋ ๋ธ๋ผ์ฐ์ ์์์๋ง ์ด๋ฃจ์ด์ง๋๋ค.
์์ฃผ ๋ฌป๋ ์ง๋ฌธ
๋๊ดํธ์ ๋ฐ์ดํ๋ฅผ ์ฐ์ธ์. $['odd key'].x์ฒ๋ผ ์ ์ผ๋ฉด ๊ณต๋ฐฑ์ด๋ ์ ์ด ๋ ์ด๋ฆ๋ ๊ทธ๋๋ก ์ฐพ์ ์ ์์ต๋๋ค.
ํํฐ ๋ฌธ๋ฒ์ ์ง์ํ์ง ์์ต๋๋ค. ๋์ [*]๋ก ์ ๋ถ ๊บผ๋ธ ๋ค ๊ฒฐ๊ณผ๋ฅผ ๋ณด๊ณ ๊ณ ๋ฅด๊ฑฐ๋, ํ์ํ ์์น๋ฅผ ๋ฒํธ๋ก ์ง์ ์ง์ ํ์ธ์.
์ ๋ ๊ฐ๋ฅผ ์ฐ์ธ์. $..price์ฒ๋ผ ์ ์ผ๋ฉด ๊น์ด์ ์๊ด์์ด ๊ทธ ์ด๋ฆ์ ๊ฐ์ง ๊ฐ์ ๋ชจ๋ ์ฐพ์ ์์น์ ํจ๊ป ๋ณด์ฌ ์ค๋๋ค.