본문 바로가기

JAVASCRIPT

[JSON] JSON 구조 이해하기

JSON은 정말 빈번하게 활용된다. 구조를 이해하고 있지 못하면 사용이 어려운 거 같아 되풀이 차원에서 글을 쓰게 됐다.

============================================================================

 

JSON 구조

 

Java Script Object Notation (JSON)은 정보를 표현하기 위해서 인기있고 빈번하게 사용되는 방법 중 하나이다.

이 글은 간단한 & 복잡한 JSON 메시지 구조를 설명한다.

 

Car라는 예제가 있다고 해보자.  Car의 정보는 Json Format에서는 다음처럼 표현된다.

 

var car = {
"name" : "Audi",
"model" : "2018",
"cost" : "30000"
};

 

위의 표현은 javascript에서 파생된 거다. 여기서 중괄호 안에 감싸진 객체인 변수 'car'를 생성했다.

이 객체는 쉼표로 분리된 "name" : "value" 쌍을 포함하고 있다.

객체 속성에 접근하기 위해서, 간단하게 object.property 표기법을 사용한다

 

car.name // "Audi"
car.model // "2010"

 

 

객체가 복잡해 질 경우를 예를들면

var car = {
"name" : "Audi",
"model" : "2018",
"cost" : "30000",
"engine" : {
"type" : "diesel",
"power" : "88KW 2.0TDI"
}
};

접근방법:

car.name // "Audi"
car.engine.type // "diesel"

 

 

 

JSON은 컬렉션 표현을 지원한다. 예를들면  배열에 JSON을 저장해 보면

var carFleet = [
{
"name" : "Audi",
"model" : "2018",
"engine" : {
"type" : "diesel",
"power" : "88KW 2.0TDI"
}
},
{
"name" : "Jaguar",
"model" : "2012",
"cost" : "70000",
"engine" : {
"type" : "diesel",
"power" : "140KW 3.0TDI"
}
}
];

접근방법 :


carFleet[0].name // "Audi"
carFleet[1].engine.power // "140KW 3.0TDI"

 

 

 

더 복잡해진 정보를 JSON을 사용하여 표현할 수 있다.

var carFleet = [
{
"name" : "Audi",
"model" : "2018",
"engine" : {
"type" : "diesel",
"power" : "88KW 2.0TDI"
},
"colors" : [
"Black",
"Red",
"White"
]
},
{
"name" : "Jaguar",
"model" : "2012",
"cost" : "70000",
"engine" : {
"type" : "diesel",
"power" : "140KW 3.0TDI"
},
"color" : [
"Gray",
"Black",
"White"
]
}
];

접근방법:

carFleet[0].name // "Audi"
carFleet[1].engine.power // "140KW 3.0TDI"
carFleet[1].colors[2] // "White"

 

 

원문 : http://websystique.com/java/json/json-structure/