๊ด€๋ฆฌ ๋ฉ”๋‰ด

๋‚˜์˜ ๋ชจ์–‘

022 | ๋ฐ์ผ๋ฆฌ์ฝ”๋”ฉ, StringifyJSON ์‹ค์Šต ๋ณธ๋ฌธ

SEB/Practical

022 | ๋ฐ์ผ๋ฆฌ์ฝ”๋”ฉ, StringifyJSON ์‹ค์Šต

kexon 2022. 7. 22. 22:57

๐Ÿ’™ ๋ฐ์ผ๋ฆฌ ์ฝ”๋”ฉ

๐Ÿค computeWhenDouble

  • ํ…Œ์ŠคํŠธ ์‹คํ–‰ํ•˜๋Š”๋ฐ ์‹คํ–‰์‹œ๊ฐ„์ดˆ๊ณผ๊ฐ€ ๋‚˜์˜ค๊ณ  ์ œ์ถœ๋„ ๋˜์ง€ ์•Š์•˜๋‹ค. ์™œ ์ €๋Ÿฐ ๋ฉ”์‹œ์ง€๊ฐ€ ๋‚˜์˜ค๋Š”์ง€ ๊ถ๊ธˆํ•ด์„œ ์งˆ๋ฌธํ–ˆ์ง€๋งŒ ํ•ด๊ฒฐ์€ ๋˜์ง€ ์•Š์•˜๋‹ค!
  • ๐Ÿง ๋ฌดํ•œ๋ฃจํ”„ ๋•Œ๋ฌธ์— ๊ทธ๋Ÿฐ๊ฐ€ ํ–ˆ๋Š”๋ฐ double๋กœ ์จ์•ผํ–ˆ๋˜ ๊ฒƒ์„ int๋กœ ์จ์„œ ๊ทธ๋žฌ๋‹ค.
  • ํ•ด๊ฒฐ์™„๋ฃŒ

๐Ÿ’› JSON(JavaScript Object Notation)

  • ๋ฐ์ดํ„ฐ ๊ตํ™˜์„ ์œ„ํ•ด ๋งŒ๋“ค์–ด์ง„ ๊ฐ์ฒด ํ˜•ํƒœ์˜ ํฌ๋งท

๐Ÿค ์ „์†ก ๊ฐ€๋Šฅ ์กฐ๊ฑด

  • ์ˆ˜์‹ ์ž์™€ ๋ฐœ์‹ ์ž๊ฐ€ ๊ฐ™์€ ํ”„๋กœ๊ทธ๋žจ์„ ์‚ฌ์šฉํ•  ๋•Œ
  • ๋ฌธ์ž์—ด์ฒ˜๋Ÿผ ๋ฒ”์šฉ์ ์œผ๋กœ ์ฝ์„ ์ˆ˜ ์žˆ๋Š” ํ˜•ํƒœ์ผ ๋•Œ

๐Ÿค JSON ํŠน์ง•

  • ์ด๋ฆ„-๊ฐ’ ์Œ
  • ๊ฐ’์˜ ์ˆœ์„œ๊ฐ€ ์ง€์ •๋œ ๋ชฉ๋ก
  • ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์™€ ํ˜ธํ™˜ ๊ฐ€๋Šฅํ•œ ๋ฐ์ดํ„ฐ๊ตฌ์กฐ

๐Ÿค JSON ํ˜•์‹

  • ์ด๋ฆ„-๊ฐ’ ์Œ์˜ ์ˆœ์„œ์—†๋Š” ์ง‘ํ•ฉ
  • ๊ฐœ์ฒด ์‹œ์ž‘๊ณผ ๋: { }
  • ์ด๋ฆ„ ๋’ค: ์ฝœ๋ก (:) ๋ถ™์Œ
  • ์ด๋ฆ„-๊ฐ’ ์Œ ๊ตฌ๋ถ„: ์ฝค๋งˆ(,) ๋ถ™์Œ

โœ… Ref.

 

JSON

JSON (JavaScript Object Notation) is a lightweight data-interchange format. It is easy for humans to read and write. It is easy for machines to parse and generate. It is based on a subset of the JavaScript Programming Language Standard ECMA-262 3rd Edition

www.json.org

๐Ÿ’š Practical - StringifyJSON

๐Ÿค ์žฌ๊ท€๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ ํƒ€์ž…์„ JSONํƒ€์ž…์œผ๋กœ ๋ณ€๊ฒฝํ•˜๋Š” ์ฝ”๋“œ ์ž‘์„ฑ

  • Difficulty
    • ์žฌ๊ท€์™€ JSON ์ดํ•ด
    • ์‹ค์Šต ๊ณผ์ œ ์ดํ•ด
    • stringify ๋ฉ”์„œ๋“œ ๊ตฌํ˜„
  • Attempt
    • ํŽ˜์–ด๋ถ„๊ณผ ๊ณ„์† ์˜๊ฒฌ์„ ์ฃผ๊ณ ๋ฐ›์œผ๋ฉด์„œ ๊ณผ์ œ ์ดํ•ด
    • ๊ตฟ๋ชจ๋‹ ์„ธ์…˜์—์„œ ์ด์•ผ๊ธฐ๋‚˜์™”๋˜ ๊ฒƒ๋“ค์„ ์กฐํ•ฉํ•ด์„œ ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ• ์ง€ ์†Œํ†ต
    • ๋น„๊ต์  ์‰ฌ์šด ๋ฌธ์ œ -> ์–ด๋ ค์šด ๋ฌธ์ œ
  • Consequence
    • ๋‹ค ์™„์„ฑํ•˜์ง€๋Š” ๋ชปํ–ˆ์ง€๋งŒ ๊ณผ์ œ์˜ ๋ฐ˜์€ ํ•ด๋ƒˆ๋‹ค!๐Ÿ‘๐Ÿป

๐Ÿค ๋ผ์ด๋ธŒ์„ธ์…˜ TIL

  • ๋‹ค ๊ฐ™์€ ๋ฒ„์ „์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— gradle ๋ฒ„์ „ ๋งž์ถ”๋Š” ์—ฐ์Šต ๊ผญ ํ•ด๋ด์•ผ๋จ
  • stringify ๋ฐฐ์—ดObject[]์€ ๋ฐ์ดํ„ฐ ํƒ€์ž… ์˜ค๋ธŒ์ ํŠธ๋ผ length ์‚ฌ์šฉ ๋ถˆ๊ฐ€
  • ๋ฐฐ์—ด ๋ฐ˜ํ™˜ ์‹œ ๋ฐฐ์—ด๋ช….toString()๋Œ€์‹  Arrays.toString(๋ฐฐ์—ด๋ช…)์„ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ ๋Š” ๋ฐฐ์—ด๋ช….toString์€ ๊ฐ์ฒด ์ฃผ์†Œ๊ฐ’์„ toString์œผ๋กœ ๋ฐ”๊ฟ”์„œ ์ฃผ์†Œ๊ฐ’ ์ž์ฒด๊ฐ€ ๋ฌธ์ž์—ด๋กœ ๋ฐ”๋€Œ๊ธฐ ๋•Œ๋ฌธ
  • toString์€ ์ž๋™์œผ๋กœ ๊ณต๋ฐฑ์„ ๋งŒ๋“ค์–ด์„œ json์„ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ๊ณต๋ฐฑ ์ œ๊ฑฐ ํ•„์ˆ˜
  • Integer.toString(data)์€ ์˜ค๋ธŒ์ ํŠธ ํƒ€์ž…์ด๋ผ ํ˜•๋ณ€ํ™˜ ํ•„์š”
  • Integer๋Š” null๊ฐ’ ํฌํ•จ์ด ๊ฐ€๋Šฅํ•œ instanceof ๋ผ์„œ null๊ฐ’ ์ฒดํฌ ์•ˆํ•จ
  • String ํ˜•๋ณ€ํ™˜ ์‹œ String.valueOf๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ œ์ผ ๋ฒ ์ŠคํŠธ
  • ์˜ˆ์™ธ์ผ€์ด์Šค์— ๋Œ€๋น„ํ•˜๋ ค๋ฉด join() ๋ฉ”์„œ๋“œ ์‚ฌ์šฉ์ด ์ œ์ผ ๋ฒ ์ŠคํŠธ

๐Ÿ’œ ์˜ค๋Š˜์˜ ์ƒ๊ฐ ์กฐ๊ฐ๋ชจ์Œ

  • ์ฝ”๋“œ ์ž‘์„ฑ -> ํ…Œ์ŠคํŠธ -> ์ฝ”๋“œ ์ˆ˜์ • -> ํ…Œ์ŠคํŠธ ํ•˜๋Š” ๊ณผ์ •์—์„œ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ์‹œ๋„๋ฅผ ํ•ด๋ณผ ์ˆ˜ ์žˆ์—ˆ๋‹ค. 
  • ๋‹ต์€ ํ•˜๋‚˜์ง€๋งŒ ๋ฌด์ˆ˜ํžˆ ๋งŽ์€ ๋ฐฉ๋ฒ•์ด ์žˆ๋‹ค๋Š” ๊ฒƒ์— ์••๋„๋˜์—ˆ๋‹ค.
Comments