# JSON(Javascript Object Notation)์ด๋ž€?

img

# 1๏ธโƒฃ JSON ์ด๋ž€?

JSON์€ ๊ฒฝ๋Ÿ‰ํ™” ๋˜์–ด์žˆ๋Š” ํ•˜๋‚˜์˜ ๋ฐ์ดํ„ฐ๊ตํ™˜ ํ˜•์‹์ด๋‹ค.

์„œ๋กœ ๋‹ค๋ฅธ ์–ธ์–ด๋“ค๊ฐ„์— ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›์„ ์ˆ˜ ์žˆ๋„๋ก (๋ณด๋‹ค ํŽธ๋ฆฌํ•˜๊ฒŒ)๋งŒ๋“ค์–ด์ง„ ํ…์ŠคํŠธ ๊ธฐ๋ฐ˜์˜ ํ˜•์‹์ด๋‹ค. ์šฐ๋ฆฌ๊ฐ€ ์ž˜ ์•Œ๊ณ  ์žˆ๋Š” XML(eXtensible Markup Language)๋„ ์„œ๋กœ ๋‹ค๋ฅธ ์–ธ์–ด๋“ค๊ฐ„์˜ ๋ฐ์ดํ„ฐ ๊ตํ™˜, ์‚ฌ๋žŒ์ด ๋ณผ ์ˆ˜ ์žˆ๋Š” ์ •๋ณด ํ‘œ๊ธฐ, ์‰ฝ๊ตฌ ๋‹จ์ˆœํ•œ ๊ตฌ์„ฑ ๋“ฑ์„ ๋ชฉํ‘œ๋กœ ๋งŒ๋“ค์–ด์ง„ ๋ฐ์ดํ„ฐ ๊ตํ™˜๋ฐฉ์‹ ์ค‘์˜ ํ•˜๋‚˜์ธ๋ฐ ์ด๋ณด๋‹ค ๋” ๊ฐ€๋ณ๊ฒŒ ๋งŒ๋“ค์–ด์ง„ ๊ฒƒ์ด JSON ํ‘œ๊ธฐ๋ฐฉ์‹์ด๋‹ค.

# JSON์€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๊ฐ€ ์•„๋‹ˆ๋‹ค.

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

# 2๏ธโƒฃ JSON์˜ ๊ตฌ์กฐ

๊ธฐ๋ณธ์ ์œผ๋กœ 'name/value' ํ˜•ํƒœ์˜ ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.

{object}

name(string):value

[array]

  • object ๋Š” ์ค‘๊ด„ํ˜ธ๋ฅผ ์ด์šฉํ•ด์„œ ๊ฐ์‹ธ๊ณ  ์žˆ๋‹ค. '{}'

  • name์€ string ์œผ๋กœ ๋˜์–ด ์žˆ๊ณ  name ์— ํ•œ ์Œ์œผ๋กœ ์ฝœ๋ก  ':' ์„ ๋‘๊ณ  value ๊ฐ€ ์˜จ๋‹ค.

  • value๋Š” ํฐ๋”ฐ์˜ดํ‘œ์•ˆ์—ย ,ย ย ,ย ,ย ,ย ,ย ย ,์ด ์˜ฌ์ˆ˜ ์žˆ๋‹ค.

    string, number, true, false, null, object, array

# JSON ๊ณต์‹ ์‚ฌ์ดํŠธ

์ž์„ธํ•œ ๋‚ด์šฉ์€ ์—ฌ๊ธฐ์„œ ํ™•์ธํ•˜๋ฉด ๋œ๋‹ค!

# JSON ์˜ˆ์ œ

{
    "member": [
        {
            "id": "youngjun108059",
            "blog": "tistory",
            "from": "korea",
            "memo": "HelloWorld"
        },
        {
            "id": "jun108059",
            "blog": "tistory.com",
            "from": "korea",
            "memo": "HelloWorld2"
        }
    ]
}

member ๋ผ๋Š” name์— value๋กœ ๋ฐฐ์—ด์ด ๋“ค์–ด๊ฐ€ ์žˆ๋‹ค.

๊ทธ ๋ฐฐ์—ด ์•ˆ์—๋Š” ๊ฐ object๊ฐ€ ๋‘๊ฐœ ๋‚˜์—ด๋˜์–ด ์žˆ๋Š”๋ฐ name:value ๋กœ ๊ฐ ๊ฐ string ๊ฐ’์ด ๋“ค์–ด๊ฐ€ ์žˆ๋‹ค.

Javascript ๋‚ด์—์„œ ์œ„์˜ JSON ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ๋Š” ๋ฐฉ๋ฒ•์„ ์˜ˆ์ œ๋กœ ์•Œ์•„๋ณด์ž.

 <!DOCTYPE html>
 <HTML>
  <HEAD>
   <TITLE> JSON Example </TITLE>
  </HEAD>

  <BODY onload="jsonParsing()">
	 <span id='a'> </span> <br>
	 <span id='b'> </span>
  </BODY>

  <SCRIPT type="text/javascript">
	function jsonParsing() {
		var jsonText = '{"member":[{"id":"jun108059","blog":"tistory","from":"korea","memo":"HelloWorld"},{"id":"youngjun108059","blog":"tistory.com","from":"korea","memo":"HelloWorld2"}]}';
		var o = JSON.parse(jsonText);

		document.getElementById('a').innerHTML = o.member[0].id + '.' + o.member[0].blog;
		document.getElementById('b').innerHTML = o.member[1].id + '.' + o.member[0].blog;
	}		
  </SCRIPT>

 </HTML>

JSON.parse ๋ฅผ ์ด์šฉํ•ด์„œ ํ…์ŠคํŠธ๋ฅผย JSON object ๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ์‚ฌ์šฉํ•˜์˜€๋‹ค.

๊ฒฐ๊ณผ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

jun108059.tistory
youngjun108059.tistory 

JSON object ๋ฅผ ๋‹ค์‹œ JSON text ๋กœ ๋ณ€ํ™˜ํ•˜๋ ค๋ฉด?

console.log(JSON.stringify(o));

๊ฒฐ๊ณผ

{"member":[{"id":"jun108059","blog":"tistory","from":"korea","memo":"HelloWorld"},{"id":"youngjun108059","blog":"tistory.com","from":"korea","memo":"HelloWorld2"}]} 

# Reference

Last Updated: 6/18/2023, 2:13:15 PM