JSON 문법 정리
Front-End/json 2019. 6. 21. 19:44[JSON]
JSON : JavaScript Object Notation의 약자이다.
JSON은 텍스트 정보를 저장하고 바꾸는데 사용되는 문법입니다.
XML과 매우 유사하죠.
JSON은 XML보다 작고, 더 빠르고 더 쉽게 파싱합니다.
[JSON의 예]
{
"employees" : [
{ "firstName" : "지은" , "lastName" : "이" },
{ "firstName" : "윤아" , "lastName" : "임" },
{ "firstName" : "수연" , "lastName" : "정" }
]
}
'employees' 오브젝트는 3명의 employee 레코드로 이루어진 배열입니다.
[JSON이란?]
- JSON은 JavaScript Object Notation의 약자입니다.
- JSON은 간단한 텍스트 데이터를 바꾸는 역할을 합니다.
- JSON은 다른 프로그래밍 언어에 독립적입니다.
JSON은 데이터 오브젝트를 기술하기 위해 Javascript 문법을 사용합니다.
하지만 JSON은 다른 언어나 플랫폼에 독립적입니다.
다양한 프로그래밍 언어를 위한 JSON 라이브러리가 존재합니다.
- JSON은 (XML처럼) 오브젝트 이름 등을 프로그래머가 마음대로 지어낼 수 있어서 이해하기 쉽습니다.
[JSON 문법의 규칙]
JSON 문법은 javascript 오브젝트 표기법의 부분집합입니다.
데이터는 name/value 쌍으로 되어 있습니다.
데이터는 ‘,’로 분리합니다.
중괄호로 오브젝트를 묶습니다.
대괄호로 배열을 묶습니다.
[JSON Name/Value Pairs]
JSON 데이터는 name/value 쌍으로 적습니다.
Name/Value 쌍은 필드명으로 이루어집니다.(큰따옴표 사용)
“firstName" : "태연"
이해하기 쉽게 javascript 문장으로 바꾸면 다음과 같습니다.
firstName = "김"
[JSON Values]
JSON 값은 다음이 될 수 있습니다.
숫자
문자열
Boolean
배열
오브젝트
null
[JSON Objects]
JSON 오브젝트는 중괄호로 둘러싸여집니다.
오브젝트는 여러 개의 name/value 쌍을 포함시킬 수 있습니다.
{ “firstName" : "태연" , "lastName" : "김" }
이해하기 쉽게 javascript 문장으로 바꾸면 다음과 같습니다.
firstName = "태연"
lastName = "김"
[JSON Arrays]
JSON 배열은 대괄호로 둘러싸여집니다.
배열은 다음의 예처럼 여러 개의 오브젝트를 포함할 수 있습니다.
{
“employees" : [
{ "firstName" : "지은" , "lastname" : "이" },
{ "firstName" : "윤아" , "lastname" : "임" },
{ "firstName" : "수연" , "lastname" : "정" }
]
}
위의 예처럼, 오브젝트 “employees"는 3개의 오브젝트를 포함하고 있는 배열입니다. 각 오브젝트는 성과 이름으로 이뤄진 사람의 기록입니다.
[JSON은 Javascript 문법을 사용합니다]
JSON은 Javascript 문법을 사용하기 때문에, JSON으로 작업할 때 별도의 소프트웨어가 필요없습니다.
Javascript를 사용해서 다음과 같이 오브젝트 배열을 생성하고 데이터를 할당할 수 있습니다.
var employees = [
{ "firstName" : "지은" , "lastName" : "이" },
{ "firstName" : "윤아" , "lastName" : "임" },
{ "firstName" : "수연" , "lastName" : "정" }
];
Javascript 오브젝트 배열에서 첫 번째 엔트리에 다음과 같이 접근할 수 있습니다.
employees[0].lastName;
반환된 내용은 다음과 같을 것입니다.
이
또한 데이터는 다음과 같이 수정할 수 있습니다.
employees[0].lastName = "수영";
[JSON Files]
JSON 파일의 형식는 “.json"입니다.
JSON 텍스트의 MIME 타입은 “application/json"입니다.
출처