๋ฐ์ดํฐ ๊ตํ์ ์ํด ๋ง๋ค์ด์ง ๊ฐ์ฒด ํํ์ ํฌ๋งท
๋ง์ ์ธ์ด์์ ๋ฒ์ฉ์ ์ผ๋ก ์ฌ์ฉ
๊ฐ์ฒด์ ํค์ ๊ฐ์ ""
๋ก ๊ฐ์ธ์ค์ผํจ
ํค์ ๊ฐ ์ฌ์ด, ํค-๊ฐ ์ ์ฌ์ด์ ๊ณต๋ฐฑ x
๋ณดํต ๋ฉ์ธ์ง๋ฅผ ์ ์กํ๋ ค๋ฉด ์์ ์์ ๋ฐ์ ์๊ฐ ๊ฐ์ ํ๋ก๊ทธ๋จ์ ์ฌ์ํ๊ฑฐ๋, ๋ฌธ์์ด์ฒ๋ผ ๋ฒ์ฉ์ ์ผ๋ก ์ฝ์ ์ ์์ด์ผํจ
But, Java๋ฅผ ์ฌ์ฉํ์ง ์๋ ํ๋ก๊ทธ๋จ์์๋ ์ด๋ฐ ๋ฐ์ดํฐ๋ฅผ ์ ํํ๊ฒ ํ์
๋ถ๊ฐ
โ ๊ฐ์ฒด๋ฅผ JSON ํํ๋ก ๋ณ๊ฒฝํ๊ฑฐ๋ JSON ํํ๋ฅผ ๊ฐ์ฒด๋ก ๋ณ๊ฒฝํด์ผํจ
if(data instanceof String) { //๋ฌธ์์ด์ธ data๊ฐ String ์ผ๋ก ๋ณํ๋ ์ ์๋์ง ๋จผ์ ํ์ธ return "\"" + (String) data + "\""; //String์ผ๋ก ๋ณํ }
if(data instanceof Integer){ //Integer์ธ data๊ฐ Integer ์ผ๋ก ๋ณํ๋ ์ ์๋์ง ๋จผ์ ํ์ธ return String.valueOf(data); //String์ผ๋ก ๋ณํ }
if(data instanceof Boolean){ //Boolean์ธ data๊ฐ Boolean ์ผ๋ก ๋ณํ๋ ์ ์๋์ง ๋จผ์ ํ์ธ return String.valueOf(data); //String์ผ๋ก ๋ณํ }
if(data instanceof Object[]){ Object[] ob = (Object[]) data; //data๋ฅผ ๊ฐ์ ํ๋ณํ for(int i = 0; i < ob.length; i++){ ob[i] = stringify(ob[i]); //์ฌ๊ท ํธ์ถํ์ฌ ob ๋ฐฐ์ด์ ๊ฐ ์์๋ฅผ ํด๋์ค๋ฅผ ์ฒ์๋ถํฐ ์ํํ๋ฉด์ ๋ชจ๋ String์ผ๋ก ๋ณํ } return Arrays.toString(ob).replaceAll(" ",""); //๋ฐฐ์ด์ String์ผ๋ก ๋ณํ ํ, ๊ณต๋ฐฑ ์ ๊ฑฐ }
if(data instanceof HashMap){ HashMap<Object, Object> map = (HashMap<Object, Object>) data; //data๋ฅผ ๊ฐ์ ํ๋ณํ HashMap<Object, Object> result = new LinkedHashMap<>(); //์ด ๊ฒฝ์ฐ ์์๊ฐ ์ค์ํด์ ์๋์ผ๋ก ๋ค์ด์ค๋ ์์๋ก ์ถ๋ ฅํด์ฃผ๋ LinkedHashMap ์จ์ผ ํจ //(์๋๋ ๊ทธ๋ฅ HashMap ์จ๋ ๋จ) โ for(Map.Entry<Object, Object> entry : map.entrySet()){ String key = stringify(entry.getKey()); //์ฌ๊ท ํธ์ถํ์ฌ key๊ฐ ๋ณํ String value = stringify(entry.getValue()); //์ฌ๊ท ํธ์ถํ์ฌ value๊ฐ ๋ณํ โ result.put(key, value); //๋ณํํ ๊ฐ ๊ฐ๋ค์ result ๋งต์ ๋ฃ์ด์ค } return result.toString().replaceAll(" ","").replaceAll("=",":"); //๋ชจ๋ String์ผ๋ก ๋ฐ๊พผ ํ, ๊ณต๋ฐฑ ์ ๊ฑฐํ๊ณ , '='๋ฅผ ':'๋ก ๋ฐ๊พผ๋ค }
Q1) ์ ๋ ฅ๋ฐ์ ๊ฐ ๊ฐ์ ์ด๋ค ํ์ ์ผ๋ก ๋ฐํํด์ฃผ๋์ง
โ
โ ๋ฒ์ฉ์ ์ผ๋ก ์ฝ์ ์ ์์ด์ผํ๊ธฐ์ ๋ชจ๋ String์ผ๋ก ๋ณํํด์ฃผ์ด์ผ ํ๋ค!!
Q2) ๋ฐฐ์ด๊ณผ HashMap์ ์ ๋ ฅ๋ฐ์ ๊ฒฝ์ฐ ์ ์ฌ๊ท๋ฅผ ์ฌ์ฉํด์ผํ๋์ง
โ
โ ๋ฐฐ์ด๊ณผ HashMap ์์ ๊ฐ๋ค์ด Boolean ํ์ ์ด ์ฌ ์๋ ์๊ณ , String ํน์ Integer ํ์ ์ผ ์๋ ์๊ธฐ ๋๋ฌธ์, / ์์ ๋ฏธ๋ฆฌ ์ ๊ธฐ๋ณธํ ํ์ ๋ค์ ๋ชจ๋ String ํ์ ์ผ๋ก ๋ณํํด์ฃผ๋ ๋ฉ์๋๋ค์ ์์ฑํ๊ณ / ๊ทธ ๋ฐ์ ์์ฑ๋ ๋ฐฐ์ด๊ณผ HashMap์ ์ฌ๊ท๊ฐ ๋๋ฉด์ ํด๋์ค์ ๋งจ ์๋ก ์ฌ๋ผ๊ฐ ์ญ ๋ด๋ ค์ค๋ฉด์ ์๊ธฐ์ ํ์ ์ ํด๋นํ๋ ๋ฉ์๋์ ๋ค์ด๊ฐ์ String ํ์ ์ผ๋ก ๋ณํ๋๋ ๊ฒ์ด๋ค!
์ค๋ ๋์ด์ด์ด๋ฌด ๋๋ฌด ์ด๋ ค์ ๋ค!!
์ด์ ํ์ต์์ ๋ถ๋ช
์ฌ๊ท์ ๋ฉ์ปค๋์ฆ๊ณผ ๊ตฌ์กฐ๋ ์ดํด๋ฅผ ํ๋๋ฐ ์ค๋ ์ค์ต์ ํ๋ฉฐ ์จ๋จน์๋ ค ํ๋ ์ฌ์ค ์ด ์ฌ๊ท๊ฐ ์ ์ฐ์ด๋์ง๋ถํฐ ์ดํด๊ฐ ์๊ฐ์ ์ธ ์๋์กฐ์ฐจ ์๋ฌ๋ค ์์ใ
๊ทธ๊ฑฐ๋ ์ฌ๋ฌ ์ค๋ฅ๋๋ฌธ์ ์ค๋์ ๊ธฐ๊ฐ ๋ค ๋นจ๋ ธ๋ ํ๋ฃจ.. ๐ฑ
ํ์ด๋์ด ๋๋ณด๊ณ ์ด์ ๋ ๋ค๋ฅด๊ฒ ์ค๋์ ๋ง์ด ์ง์น์ ๊ฒ ๊ฐ๋ค๊ณ .. ใ
ใ
ใ
ใ
ใ
ใ
๊ทธ๋๋ ์ฝ๋๋ ๋ค๋ฅธ ์ฌ๋ ์ฝ๋๋ฅผ ์ฐธ๊ณ ํ์ฌ ํ์ด๋๊ณผ ๊ฐ์ด ์ฐจ๊ทผ์ฐจ๊ทผ ํด๋๊ฐ๋ค.
๋๋ ์ดํด๊ฐ ์๋๋ฉด ์๊พธ '์์ง??' ์ด๊ฒ ๋ ์ฌ๋ผ์ ๋ค์์ผ๋ก ์ง๋๊ฐ ์๋๊ฐ๋ ์ฌ๋์ด๋ผ
๊ตฌ์กฐ๋ฅผ ์ดํดํ๋ ค๊ณ ๋จธ๋ฆฌ๋ง ๊ตด๋ฆฌ๊ณ ์์๋๋ฐ ํ์ด๋์ด ์ผ๋จ ํด๋ณด์๊ณ ํด์ ๊ทธ๋๋ ์ ๋ง์น ๊ฒ ๊ฐ๋ค!!
๊ทธ๋๋ ์ ์ถ๊น์ง ๋ค ํ๊ณ ์ค์ธ์
์์ ์ค๋ช
์ ๋ค์ผ๋๊น ๊ทธ๋๋ ๊ฐ์ด ์กํ๊ธด ํ์ง๋ง ๊ทธ๋๋ ๋ ๊ณต๋ถํด์ผ๊ฒ ๋ค.
๊ทผ๋ฐ ๋ ์๊พธ JSON์ JASON์ผ๋ก ์ด๋ค.. JASON์จ ๋๊ตฌ์ธ์ฌ..?