๊ฒŒ์ž„ ์‹œ์ž‘ํ• ๋•Œ ๊ฒŒ์ž„ ํ‚ค๋ฐ”์ธ๋”ฉ์ด๋‚˜ ํ™”๋ฉด ์„ค์ • ๋กœ๋“œํ•˜๋Š”๋ฐ


JSON์— ์„ธํŒ…๊ฐ’ ๋„ฃ๋Š”๋ฐ ๊ฒŒ์ž„ย ์ตœ์ดˆ 1ํšŒ ์‹คํ–‰์‹œ์—๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ์—†๊ฑฐ๋‚˜ ํ‹€๋ฆฐ ๊ฒฝ์šฐ ์ƒ์„ฑํ•˜๋ ค๊ณ  ํ•ด


๊ทผ๋ฐ ํ•ด๋‹น JSON์ด ์œ ํšจํ•œ์ง€ ์•ˆํ•˜๋Š”์ง€ ์ฒดํฌํ•˜๋Š”๊ฑฐ ์•„์ง ๋‚ด๊ฐ€ ๊ฒ€์ƒ‰์„ ๋“คํ•ด๋ด์„œ ๋ชจ๋ฅด๊ฒ ๋Š”๋ฐย 


์œ ํšจ์„ฑ ๊ฒ€์‚ฌํ•˜๋Š” ์ธํ„ฐ๋„ท ํŽ˜์ด์ง€๋งŒย ์˜ค์ง€๊ฒŒ ๋‚˜์˜ค๊ณ  ํ”„๋กœ๊ทธ๋žจ ๋‚ด์—์„œ ํ•จ์ˆ˜๋กœ ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ž˜ ๋ชป์ฐพ๊ฒ ์Œ


Jsonutility์—์„œ ํ•˜๋Š”๊ฑด FromJson์ด๋•Œ ๋˜๋Š”์ง€ ์•ˆ๋˜๋Š”์ง€ ์ฒดํฌํ•˜๋“œ๋ผ? ๊ทธ๋ž˜์„œย ArgumentException ๋‚ด๋ฑ‰๊ณ  ๋ป—์Œ


๊ทธ๋ƒฅ ์ผ๋‹จ ์ด jsonํŒŒ์ผ์ด ๊ฑ ๋ฐ์ดํ„ฐ๊ฐ€ ์—†๋“  ๊นจ์กŒ๋“  ๊ฑ ์˜˜๋ณ‘ํ•˜์ง€๋ง๊ณ ย jsonํŒŒ์ผ๋กœ ํŒŒ์‹ฑ์ด ์•ˆ๋˜๋ฉด ๋งŒ๋“ค๊ณ  ์‹ถ์€๋ฐ


void LoadGameSetting()

{

try

{

var Jsonsetting =ย  Jsonutility.FromJson<GameSetting>(strSetting);

SetSetting(Jsonsetting);

}

catch ย (ArgumentException e)// ๋งŒ์•ฝย ArgumentExceptionย ๋œจ๋Š”์ƒํ™ฉ์ด๋ผ๋ฉด

{

Debug.log("Json is not invailde")

MakeSetting();

}

}


์ด๋Ÿฐ ๊ฒฝ์šฐ ๋กœ์ง์ ์œผ๋กœ ๋ฌธ์ œ๊ฐ€ ๋˜๋‚˜? ๊ฒŒ์ž„ ๋กœ๋“œ์‹œ์— try catch๋ฅผ ์•ˆ์จ๋ด์„œ ๊ทธ๋Ÿฌ๋Š”๋ฐ ๋‚ด๊ฐ€ ๊ดœํžˆ ์ฐ์ฐํ•œ๊ฑด๊ฐ€


๊ทธ๋ฆฌ๊ณ  JSON ์œ ํšจ์„ฑ ์ฒดํฌํ•˜๋Š” ๋ญ”๊ฐ€ ์Šค๋งˆํŠธํ•œ ๋ฐฉ๋ฒ•์ด ์žˆ์„๊ฒƒ๊ฐ™์€๋ฐ ๋ˆˆ์— ์ž˜ ์•ˆ๋„๋„ค....

๋‹ค์‹œํ•œ๋ฒˆ ๋งํ•˜์ง€๋งŒ ํ•‘ํ”„๋Š” ์•„๋‹ˆ์ง€๋งŒ ๊ณ„์† ๋ˆˆ์— ๋„๋Š” ๋ฐฉ๋ฒ•์ด ์—†์–ด์„œ ๊ทธ๋Ÿฐ๋ฐ valid ์ฒดํฌํ•˜๋Š” ๋ฐฉ๋ฒ• ์žˆ์œผ๋ฉด ์•Œ๋ ค์ค˜๋„ ๋ผ!