Skip to content

Latest commit

ย 

History

History
174 lines (121 loc) ยท 5.02 KB

JSON VS XML.md

File metadata and controls

174 lines (121 loc) ยท 5.02 KB

JSON VS XML

JSON์ด๋ž€?

JavaScript Object Notation์˜ ์•ฝ์ž๋กœ, ๋ฐ์ดํ„ฐ๋ฅผ ์กฐ๊ธˆ ๋” ์‰ฝ๊ฒŒ ๊ตํ™˜ํ•˜๊ณ  ์ €์žฅํ•˜๊ธฐ ์œ„ํ•ด ๋งŒ๋“ค์–ด์ง„ ํ…์ŠคํŠธ ๊ธฐ๋ฐ˜์˜ ๋ฐ์ดํ„ฐ ๊ตํ™˜ ํ‘œ์ค€

  • ๋ฐ์ดํ„ฐ๊ฐ€ ์†์„ฑ-๊ฐ’ ๋˜๋Š” ํ‚ค-๊ฐ’ ์Œ์œผ๋กœ ์ด๋ฃจ์–ด์ ธ์žˆ๋‹ค.
  • ์ž๋ฐ” ์Šคํฌ๋ฆฝํŠธ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋งŒ๋“ค์–ด์กŒ๋‹ค.
  • XML์˜ ๋Œ€์•ˆ์œผ๋กœ, ์กฐ๊ธˆ ๋” ์‰ฝ๊ฒŒ ๋ฐ์ดํ„ฐ๋ฅผ ๊ตํ™˜ํ•˜๊ณ  ์ €์žฅํ•˜๊ธฐ ์œ„ํ•ด ๊ณ ์•ˆ๋˜์—ˆ๋‹ค.
  • ํ…์ŠคํŠธ ๊ธฐ๋ฐ˜์ด๋ฏ€๋กœ, ์–ด๋– ํ•œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์—์„œ๋„ JSON ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ๊ณ  ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

JSON์˜ ํŠน์ง•

  • ์‚ฌ์šฉํ•˜๊ธฐ ์‰ฝ๋‹ค.
  • ์ ์€ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋น ๋ฅด๋‹ค.
  • ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ํ™•์žฅํ•˜์—ฌ ๋งŒ๋“ค์–ด์กŒ๋‹ค.
  • ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ฐ์ฒด ํ‘œ๊ธฐ๋ฒ•์„ ๋”ฐ๋ฅธ๋‹ค.
  • ์‚ฌ๋žŒ๊ณผ ๊ธฐ๊ณ„๊ฐ€ ๋ชจ๋‘ ์ฝ๊ธฐ ํŽธํ•˜๋„๋ก ๊ณ ์•ˆ๋˜์—ˆ๋‹ค.
  • ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์™€ ์šด์˜์ฒด์ œ์— ๋…๋ฆฝ์ ์ด๋‹ค.

JSON์˜ ์žฅ์ 

  • ๋ชจ๋“  ๋ธŒ๋ผ์šฐ์ €์— ๋Œ€ํ•œ ์ง€์›์„ ์ œ๊ณตํ•œ๋‹ค.
  • ์ƒ์„ฑ, ์กฐ์ž‘, ์ฝ๊ธฐ, ์“ฐ๊ธฐ๊ฐ€ ์‰ฝ๋‹ค.
  • ๊ตฌ๋ฌธ์ด ๊ฐ„๋‹จํ•˜๋‹ค.
  • ์ง๋ ฌํ™”๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค.

JSON์˜ ๋‹จ์ 

  • ๋„ค์ž„ ์ŠคํŽ˜์ด์Šค ์ง€์›์ด ์—†๋‹ค.
    (ํ™•์žฅ์„ฑ์ด ๋ถ€์กฑํ•˜๋‹ค.)
  • ๋ฌธ๋ฒ•์„ ์ง€์ผœ์•ผ ํ•œ๋‹ค.
  • ์ œํ•œ๋œ ๊ฐœ๋ฐœ ๋„๊ตฌ๋ฅผ ์ง€์›ํ•œ๋‹ค.


XML์ด๋ž€?

EXtensible Markup Language์˜ ์•ฝ์ž๋กœ, ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ณ  ์ „๋‹ฌํ•  ๋ชฉ์ ์œผ๋กœ ๋งŒ๋“ค์–ด์กŒ์œผ๋ฉฐ, ์ €์žฅ๋˜๋Š” ๋ฐ์ดํ„ฐ์˜ ๊ตฌ์กฐ๋ฅผ ๊ธฐ์ˆ ํ•˜๊ธฐ ์œ„ํ•œ ์–ธ์–ด

  • < ๋กœ ์‹œ์ž‘ํ•˜์—ฌ > ๋กœ ๋๋‚˜๋Š” ๋งˆํฌ์—… ๊ตฌ์กฐ์ด๋‹ค.
  • ์ˆ˜๋งŽ์€ ์‘์šฉ ๋ถ„์•ผ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ณ  ์ „๋‹ฌํ•˜๋Š” ์ค‘์š”ํ•œ ์—ญํ• ์„ ๋งก๊ณ  ์žˆ๋‹ค.
  • XML์„ ๋ฐฐ์šฐ๊ธฐ ์ „์— HTML, ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋“ฑ์˜ ๊ธฐ์ดˆ ์ง€์‹์ด ํ•„์š”ํ•˜๋‹ค.

XML์˜ ํŠน์ง•

  • ๋‹ค๋ฅธ ๋ชฉ์ ์˜ ๋งˆํฌ์—… ์–ธ์–ด๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ๋‹ค๋ชฉ์  ๋งˆํฌ์—… ์–ธ์–ด์ด๋‹ค.
  • ๋‹ค๋ฅธ ์‹œ์Šคํ…œ๋ผ๋ฆฌ ๋‹ค์–‘ํ•œ ์ข…๋ฅ˜์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์†์‰ฝ๊ฒŒ ๊ตํ™˜ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์ค€๋‹ค.
  • ์ƒˆ๋กœ์šด ํƒœ๊ทธ๋ฅผ ๋งŒ๋“ค์–ด ์ถ”๊ฐ€ํ•ด๋„ ๊ณ„์†ํ•ด์„œ ๋™์ž‘ํ•˜๋ฏ€๋กœ, ํ™•์žฅ์„ฑ์ด ์ข‹๋‹ค.
  • ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด์—ฌ์ฃผ์ง€ ์•Š๊ณ , ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ•˜๊ณ  ์ €์žฅํ•˜๋Š” ๊ฒƒ๋งŒ์„ ๋ชฉ์ ์œผ๋กœ ํ•œ๋‹ค.
  • ํ…์ŠคํŠธ ๋ฐ์ดํ„ฐ ํ˜•์‹์˜ ์–ธ์–ด๋กœ, ๋ชจ๋“  XML ๋ฌธ์„œ๋Š” ์œ ๋‹ˆ์ฝ”๋“œ ๋ฌธ์ž๋กœ๋งŒ ์ด๋ฃจ์–ด์ง„๋‹ค.

XML์˜ ์žฅ์ 

  • ์‹œ์Šคํ…œ ๋ฐ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐ„์— ๋ฌธ์„œ ์ „์†ก์ด ๊ฐ€๋Šฅํ•˜๋‹ค.
  • ํ”Œ๋žซํผ์ด ๋…๋ฆฝ์ ์ด๊ธฐ ๋•Œ๋ฌธ์— ์„œ๋กœ ๋‹ค๋ฅธ ํ”Œ๋žซํผ ๊ฐ„์— ๋ฐ์ดํ„ฐ ๊ตํ™˜์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

XML์˜ ๋‹จ์ 

  • ์ฒ˜๋ฆฌ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์ด ํ•„์š”ํ•˜๋‹ค.
  • XML ๊ตฌ๋ฌธ์ด ์ค‘๋ณต๋œ๋‹ค.


JSON๊ณผ XML์˜ ๊ณตํ†ต์ 

  • ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ณ  ์ „๋‹ฌํ•˜๊ธฐ ์œ„ํ•ด ๊ณ ์•ˆ๋˜์—ˆ๋‹ค.
  • ๊ธฐ๊ณ„๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์‚ฌ๋žŒ๋„ ์‰ฝ๊ฒŒ ์ฝ์„ ์ˆ˜ ์žˆ๋‹ค.
  • ๊ณ„์ธต์ ์ธ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ง„๋‹ค.
  • ๋‹ค์–‘ํ•œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์— ์˜ํ•ด ํŒŒ์‹ฑ๋  ์ˆ˜ ์žˆ๋‹ค.

JSON๊ณผ XML์˜ ์ฐจ์ด์ 

  • JSON์€ ์ข…๋ฃŒ ํƒœ๊ทธ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค.
  • JSON์˜ ๊ตฌ๋ฌธ์ด XML์˜ ๊ตฌ๋ฌธ๋ณด๋‹ค ๋” ์งง๋‹ค.
  • JSON ๋ฐ์ดํ„ฐ๊ฐ€ XML ๋ฐ์ดํ„ฐ๋ณด๋‹ค ๋” ๋นจ๋ฆฌ ์ฝ๊ณ  ์“ธ ์ˆ˜ ์žˆ๋‹ค.
  • XML์€ ๋ฐฐ์—ด์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์ง€๋งŒ, JSON์€ ๋ฐฐ์—ด์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.
  • XML์€ XML ํŒŒ์„œ๋กœ ํŒŒ์‹ฑ๋˜๋ฉฐ, JSON์€ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํ‘œ์ค€ ํ•จ์ˆ˜์ธ eval() ํ•จ์ˆ˜๋กœ ํŒŒ์‹ฑ๋œ๋‹ค.
  • XML ๋ฌธ์„œ๋Š” XML DOM(Document Object Model)์„ ์ด์šฉํ•˜์—ฌ ํ•ด๋‹น ๋ฌธ์„œ์— ์ ‘๊ทผํ•˜์ง€๋งŒ, JSON์€ ๋ฌธ์ž์—ด์„ ์ „์†ก๋ฐ›์€ ํ›„์— ํ•ด๋‹น ๋ฌธ์ž์—ด์„ ๋ฐ”๋กœ ํŒŒ์‹ฑํ•˜๋ฏ€๋กœ, XML๋ณด๋‹ค ๋”์šฑ ๋น ๋ฅธ ์ฒ˜๋ฆฌ ์†๋„๋ฅผ ๋ณด์—ฌ์ค€๋‹ค.
  • JSON์€ ์ „์†ก ๋ฐ›์€ ๋ฐ์ดํ„ฐ์˜ ๋ฌด๊ฒฐ์„ฑ์„ ์‚ฌ์šฉ์ž๊ฐ€ ์ง์ ‘ ๊ฒ€์ฆํ•ด์•ผ ํ•˜์ง€๋งŒ, XML์€ ๋ฐ์ดํ„ฐ์˜ ๊ฒ€์ฆ์ด ํ•„์š”ํ•œ ๊ณณ์—์„œ ์Šคํ‚ค๋งˆ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ์˜ ๋ฌด๊ฒฐ์„ฑ์„ ๊ฒ€์ฆํ•  ์ˆ˜ ์žˆ๋‹ค.
  • JSON์€ ๋„ค์ž„์ŠคํŽ˜์ด์Šค๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š๊ณ , XML์€ ๋„ค์ž„์ŠคํŽ˜์ด์Šค๋ฅผ ์ง€์›ํ•œ๋‹ค.

์˜ˆ์‹œ

  • JSON ์˜ˆ์‹œ
{
    "study": [
        { "name": "Kim", "age": 22 },
        { "name": "Kim", "age": 24 },
        { "name": "Ji", "age": 24 },
        { "name": "Kwon", "age": 24 },
        { "name": "Lee", "age": 25 }
    ]
}
  • XML ์˜ˆ์‹œ
<study>
    <info>
        <name>Kim</name> <age>22</age>
    </info>
    <info>
        <name>Kim</name> <age>24</age>
    </info>
    <info>
        <name>Ji</name> <age>24</age>
    </info>
    <info>
        <name>Kwon</name> <age>24</age>
    </info>
    <info>
        <name>Lee</name> <age>25</age>
    </info>
</study>
  • XML ๋„ค์ž„์ŠคํŽ˜์ด์Šค
<root

    xmlns:a="https://www.w3.org/TR/html5/"

    xmlns:b="http://codingsam.com/xml/physical/">

    <a:body>

        <a:h1>html์—์„œ์˜ ์ œ๋ชฉ</a:h1>

        <a:p>html์—์„œ์˜ ๋‹จ๋ฝ</a:p>

    </a:body>

    <b:body>

        <b:arm>70</b:arm>

        <b:leg>110</b:leg>

    </b:body>

</root>


Reference

XML๊ณผ JSON์˜ ํŠน์ง•, ๊ณตํ†ต์ , ์ฐจ์ด์ 

Json๊ณผ XML์˜ ์ฐจ์ด

XML ๋„ค์ž„์ŠคํŽ˜์ด์Šค