๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Android

Android::Gson&Json

by ๋„์บ๋ฆฌ๐Ÿฑ 2020. 8. 14.
๋ฐ˜์‘ํ˜•

JSON

โ—  JSON ์ด๋ž€?

→ ์ž๋ฐ” ์Šคํฌ๋ฆฝํŠธ์—์„œ ๊ฐ์ฒด๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•.

→ ๋‹ค์–‘ํ•œ ์–ธ์–ด์—์„œ ๋ฐ์ดํ„ฐ ์ฃผ๊ณ  ๋ฐ›๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ.

→ ์ค‘๊ด„ํ˜ธ{} ๋กœ ํ•˜๋‚˜์˜ ๊ฐ์ฒด ํ‘œํ˜„, ๋‚ด๋ถ€์—๋Š” key:value ํ˜•ํƒœ๋กœ ์†์„ฑ ๊ตฌ์„ฑํ•œ๋‹ค. 

 

โ— JSON ์„ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ ?

→ ํ•œ๋ˆˆ์— ๋ณด๊ธฐ ์‰ฝ๋‹ค.

→ JSON ๋ณด๋‹ค ๋จผ์ € ์ƒ๊ธด๊ฑด xml ์ด๋‹ค. xml ์€ ๋ฐ์ดํ„ฐ ๋งˆ๋‹ค ํƒœ๊ทธ๋ฅผ ์ด์šฉํ•ด ์„ค๋ช…์„ ๋ถ€์—ฌํ•ด์„œ JSON๋ณด๋‹ค ๋ฌด๊ฒ๋‹ค. JSON์€ ํƒœ๊ทธ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ , name:value ์Œ์œผ๋กœ ๊ฒŒ์ดํ„ฐ๋ฅผ ํ‘œํ˜„ํ•ด์„œ ๊ฐ€๋ณ๋‹ค. 

→ ํŠน์ • ์–ธ์–ด๋‚˜ ํ”Œ๋žซํผ์— ๋…๋ฆฝ์ ์ด์–ด์„œ JSONํ˜•์‹์„ ์ง€ํ‚ฌ ์‹œ ์–ด๋–ค ์‹œ์Šคํ…œ์ด๋“ , ๋ฐ์ดํ„ฐ ๊ตํ™˜ ๊ฐ€๋Šฅ. ๋Œ€๋ถ€๋ถ„ ์–ธ์–ด์—์„œ JSON ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ œ๊ณต.

 

 

 

GSON

โ—  GSON ์ด๋ž€?

→ ์ž๋ฐ” ์˜ค๋ธŒ์ ํŠธ๋ฅผ ์‰ฝ๊ฒŒ JSON์œผ๋กœ ๋ณ€ํ™˜์‹œ์ผœ์ฃผ๋Š” ์•„์ฃผ ๊ฐ„๋‹จํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ

→ ์ง๋ ฌํ™”๋œ json ๊ตฌ์กฐ๋ฅผ ๋„๋Š” ์ง๋ ฌํ™”๋œ ๋ฐ์ดํ„ฐ๋ฅผ JAVA ๊ฐ์ฒด๋กœ ์—ญ์ง๋ ฌํ™”, ์ง๋ ฌํ™” ํ•ด์คŒ

 

์•„๋ž˜  ์‚ฌ์ง„ ์ฒ˜๋Ÿผ  GSON์„ ์“ฐ๊ธฐ ์œ„ํ•ด gradle ์— ๋„ฃ์–ด์„œ sync ํ•ด์•ผ ํ•œ๋‹ค. < ๋ฒ„์ „์€ ํ•ญ์‹œ ์ฒดํฌ! >

1]  ํƒ€์ž…(์˜ˆ๋ฅผ ๋“ค์–ด String ๋˜๋Š” Array) ์—์„œ JSON์€ Gson ๊ฐ์ฒด ์„ ์–ธ ํ›„ toJson

2]  Json์—์„œ ํƒ€์ž…์€ ๊ฐ์ฒด ์„ ์–ธ ํ›„ fromJson.(fromJson์€ ๋ณ€ํ™˜ ํ•  ํƒ€์ž…์„ ํ™•์‹ค์ด ์žก์•„ ์ฃผ์–ด์•ผ ํ•œ๋‹ค.)

 

*๋ฆฌ์ŠคํŠธ, Customํด๋ž˜์Šค๋„ JSON์œผ๋กœ ๋ณ€ํ™˜์ด ๊ฐ€๋Šฅํ•˜๊ณ , ์ž๋ฐ” ๊ฐ์ฒด๋ผ๋ฉด ๋ชจ๋‘ ๋ณ€ํ™˜ ๊ฐ€๋Šฅ

 

JsonObject๊ฐ์ฒด๋ฅผ ์„ ์–ธํ•œ ํ›„, addProperty๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋„ฃ์–ด์ฃผ๊ณ 

๋‹ค์‹œ Object์—์„œ ์ž๋ฃŒ๋ฅผ ๊บผ๋‚ผ ๋•Œ, ํƒ€์ž…๋ณ„๋กœ ๋ฆฌํ„ด ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค.

 

GsonBuilder ์˜ต์…˜. Builder ์˜ต์…˜์€ ๋” ๋งŒ์€ ์ข…๋ฅ˜์™€ ์„ค์ • ๋ฉ”์†Œ๋“œ๋“ค์ด ์กด์žฌ ํ•˜์ง€๋งŒ,

๊ทธ ์ค‘ Json ์ด์˜๊ฒŒ ์ถœ๋ ฅํ•˜๋Š” Pretty ์˜ต์…˜.

 

GSON์€ ๋ช…ํ™•ํžˆ ์ž๋ฃŒํ˜•์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋„ฃ์„ ์ˆ˜ ์žˆ๊ณ  ๋ฆฌํ„ด๋ฐ›์„ ์ˆ˜ ์žˆ๊ฒŒ ๊ตฌํ˜„์ด ๋˜์–ด ์žˆ์–ด์„œ,

์†๋„๊ฐ€ ๋น ๋ฅด๋ฉฐ, ์ฝ”๋“œ๊ฐ€ ๋”์šฑ๋” ๊น”๋”ํ•ด์ง€๊ณ , JSON์„ ์‚ฌ์šฉํ•˜๊ธฐ ํŽธ๋ฆฌํ•˜๋‹ค.

 


"์ฐธ๊ณ  ๋ธ”๋กœ๊ทธ"

https://web-inf.tistory.com/64

 

JAVA JSON ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๊ตฌ๊ธ€ GSON ์•Œ์•„๋ณด์ž(Google Gson)

์˜ค๋žœ๋งŒ์— ์ž๋ฐ” ํฌ์ŠคํŒ…ํ•˜๋‚˜๋ฅผ ์ž‘์„ฑํ•˜๋Ÿฌ ๋Œ์•„์™”์Šต๋‹ˆ๋‹ค. ์ด๋ฒˆ์— ์†Œ๊ฐœ๋“œ๋ฆด๊ฒƒ์€ ๊ตฌ๊ธ€์˜ GSON ์ž…๋‹ˆ๋‹ค. GSON์€ ์ž๋ฐ” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ค‘ ํ•˜๋‚˜์ธ๋ฐ, ์ž๋ฐ” ์˜ค๋ธŒ์ ํŠธ๋ฅผ ์‰ฝ๊ฒŒ JSON์œผ๋กœ ๋ณ€ํ™˜์‹œ์ผœ์ฃผ๋Š” ์•„์ฃผ ๊ฐ„๋‹จํ•˜๊ณ 

web-inf.tistory.com

 

๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€