๐Ÿ”JSONPath ๊ฐ’ ์ถ”์ถœ๊ธฐ

๊ฒฝ๋กœ๋กœ JSON ๊ฐ’ ์ถ”์ถœ

์ง€์›: $ ยท .ํ‚ค ยท ['ํ‚ค'] ยท [๋ฒˆํ˜ธ] ยท [*] ยท .* ยท ..ํ‚ค(ํ•˜์œ„ ์ „์ฒด์—์„œ ์ฐพ๊ธฐ) / ์ง€์›ํ•˜์ง€ ์•Š์Œ: ํ•„ํ„ฐ ?() ยท ์Šฌ๋ผ์ด์Šค [1:3] ยท ์—ฌ๋Ÿฌ ๊ฐœ ๋ฌถ๊ธฐ [0,1] ยท ์Œ์ˆ˜ ๋ฒˆํ˜ธ

JSONPath ๊ฐ’ ์ถ”์ถœ๊ธฐ ์‚ฌ์šฉ๋ฒ•

๊นŠ์ด ์ค‘์ฒฉ๋œ API ์‘๋‹ต์—์„œ ์›ํ•˜๋Š” ๊ฐ’๋งŒ ๊บผ๋‚ด์•ผ ํ•  ๋•Œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ชฉ๋ก ์•ˆ์˜ ์ œ๋ชฉ๋งŒ ๋ชจ์œผ๊ฑฐ๋‚˜, ์–ด๋””์— ์žˆ๋Š”์ง€ ๋ชจ๋ฅด๋Š” ํ‚ค๋ฅผ ์ „๋ถ€ ์ฐพ์•„๋‚ด๋Š” ์ผ์ด ๊ทธ๋ ‡์Šต๋‹ˆ๋‹ค. JSON๊ณผ ๊ฒฝ๋กœ๋ฅผ ํ•จ๊ป˜ ๋„ฃ์œผ๋ฉด ์ผ์น˜ํ•˜๋Š” ๊ฐ’๊ณผ ๊ทธ ๊ฐ’์ด ์–ด๋А ์œ„์น˜์—์„œ ๋‚˜์™”๋Š”์ง€๋ฅผ ํ‘œ๋กœ ๋ณด์—ฌ ์ค๋‹ˆ๋‹ค.

์™„์ „ํ•œ JSONPath ๊ทœ๊ฒฉ์€ ๊ตฌํ˜„๋งˆ๋‹ค ๋™์ž‘์ด ๊ฐˆ๋ฆด ๋งŒํผ ๋„“๊ธฐ ๋•Œ๋ฌธ์—, ์ด ๋„๊ตฌ๋Š” ์ž์ฃผ ์“ฐ๋Š” ๋ฌธ๋ฒ•๋งŒ ์ข๊ฒŒ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ์ตœ์ƒ์œ„๋ฅผ ๋œปํ•˜๋Š” $, ์ ์œผ๋กœ ์ž‡๋Š” .ํ‚ค, ์ด๋ฆ„์— ๊ณต๋ฐฑ์ด๋‚˜ ์ ์ด ๋“ค์–ด๊ฐˆ ๋•Œ ์“ฐ๋Š” ['ํ‚ค'], ๋ฐฐ์—ด ์œ„์น˜๋ฅผ ๊ณ ๋ฅด๋Š” [๋ฒˆํ˜ธ], ๋ฐฐ์—ด์ด๋‚˜ ๊ฐ์ฒด์˜ ๋ชจ๋“  ๊ฐ’์„ ํ›‘๋Š” [*]์™€ .*, ๊ทธ๋ฆฌ๊ณ  ํ•˜์œ„ ์–ด๋””์— ์žˆ๋“  ๊ฐ™์€ ์ด๋ฆ„์„ ๋ชจ๋‘ ์ฐพ๋Š” ..ํ‚ค๊นŒ์ง€์ž…๋‹ˆ๋‹ค.

์ง€์›ํ•˜์ง€ ์•Š๋Š” ๋ฌธ๋ฒ•์€ ์กฐ์šฉํžˆ ๋ฌด์‹œํ•˜์ง€ ์•Š๊ณ  ๋ฌด์—‡์„ ๋ชป ํ•˜๋Š”์ง€ ์•Œ๋ ค ์ฃผ๋ฉฐ ๋ฉˆ์ถฅ๋‹ˆ๋‹ค. ์กฐ๊ฑด์„ ๊ฑฐ๋Š” ํ•„ํ„ฐ ?(), ๋ฒ”์œ„๋ฅผ ์ž๋ฅด๋Š” ์Šฌ๋ผ์ด์Šค [1:3], ์—ฌ๋Ÿฌ ๊ฐœ๋ฅผ ๋ฌถ๋Š” [0,1], ์Œ์ˆ˜ ๋ฒˆํ˜ธ๊ฐ€ ์—ฌ๊ธฐ์— ํ•ด๋‹นํ•ฉ๋‹ˆ๋‹ค. ๊ฒฝ๋กœ๊ฐ€ ์ž˜๋ชป๋์„ ๋•Œ๋„ ๋Œ€๊ด„ํ˜ธ๊ฐ€ ์•ˆ ๋‹ซํ˜”๋Š”์ง€, ์  ๋’ค์— ์ด๋ฆ„์ด ์—†๋Š”์ง€ ๊ฐ™์€ ์ด์œ ๋ฅผ ๊ทธ๋Œ€๋กœ ๋ณด์—ฌ ์ค๋‹ˆ๋‹ค.

JSON ํ˜•์‹์ด ์ž˜๋ชป๋˜๋ฉด ์–ด๋А ์œ„์น˜์—์„œ ์ฝ๊ธฐ๋ฅผ ์‹คํŒจํ–ˆ๋Š”์ง€ ๊ทธ๋Œ€๋กœ ์ „๋‹ฌํ•˜๋ฏ€๋กœ ์˜คํƒ€๋ฅผ ์ฐพ๊ธฐ ์‰ฝ์Šต๋‹ˆ๋‹ค. ์ผ์น˜ํ•˜๋Š” ๊ฐ’์ด ํ•˜๋‚˜๋„ ์—†์œผ๋ฉด ๋นˆ ํ‘œ ๋Œ€์‹  ์•ˆ๋‚ด ๋ฌธ๊ตฌ๊ฐ€ ๋œน๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ๊ฐ€ ์•„์ฃผ ๋งŽ์œผ๋ฉด ์•ž์—์„œ ์ผ๋ถ€๋งŒ ํ‘œ์— ๋ณด์—ฌ ์ฃผ๊ณ  ๋ช‡ ๊ฐœ๋งŒ ๋ณด์—ฌ ์ฃผ๋Š”์ง€ ํ•จ๊ป˜ ์ ์Šต๋‹ˆ๋‹ค. ๋ชจ๋“  ์ฒ˜๋ฆฌ๋Š” ๋ธŒ๋ผ์šฐ์ € ์•ˆ์—์„œ๋งŒ ์ด๋ฃจ์–ด์ง‘๋‹ˆ๋‹ค.

์ž์ฃผ ๋ฌป๋Š” ์งˆ๋ฌธ

ํ‚ค ์ด๋ฆ„์— ๊ณต๋ฐฑ์ด๋‚˜ ์ ์ด ์žˆ์–ด์š”.

๋Œ€๊ด„ํ˜ธ์™€ ๋”ฐ์˜ดํ‘œ๋ฅผ ์“ฐ์„ธ์š”. $['odd key'].x์ฒ˜๋Ÿผ ์ ์œผ๋ฉด ๊ณต๋ฐฑ์ด๋‚˜ ์ ์ด ๋“  ์ด๋ฆ„๋„ ๊ทธ๋Œ€๋กœ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์กฐ๊ฑด์— ๋งž๋Š” ํ•ญ๋ชฉ๋งŒ ๊ณ ๋ฅผ ์ˆ˜ ์žˆ๋‚˜์š”?

ํ•„ํ„ฐ ๋ฌธ๋ฒ•์€ ์ง€์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋Œ€์‹  [*]๋กœ ์ „๋ถ€ ๊บผ๋‚ธ ๋’ค ๊ฒฐ๊ณผ๋ฅผ ๋ณด๊ณ  ๊ณ ๋ฅด๊ฑฐ๋‚˜, ํ•„์š”ํ•œ ์œ„์น˜๋ฅผ ๋ฒˆํ˜ธ๋กœ ์ง์ ‘ ์ง€์ •ํ•˜์„ธ์š”.

ํ‚ค๊ฐ€ ์–ด๋”” ์žˆ๋Š”์ง€ ๋ชจ๋ฅผ ๋•Œ๋Š” ์–ด๋–ป๊ฒŒ ์ฐพ๋‚˜์š”?

์  ๋‘ ๊ฐœ๋ฅผ ์“ฐ์„ธ์š”. $..price์ฒ˜๋Ÿผ ์ ์œผ๋ฉด ๊นŠ์ด์— ์ƒ๊ด€์—†์ด ๊ทธ ์ด๋ฆ„์„ ๊ฐ€์ง„ ๊ฐ’์„ ๋ชจ๋‘ ์ฐพ์•„ ์œ„์น˜์™€ ํ•จ๊ป˜ ๋ณด์—ฌ ์ค๋‹ˆ๋‹ค.