JavaScript Object Notation (JSON)은 Javascript 객체 문법으로 구조화된 데이터를 표현하기 위한 문자 기반의 표준 포맷입니다. 웹 어플리케이션에서 데이터를 전송할 때 일반적으로 사용합니다.
JSON은 Javascript 객체 리터럴 문법을 따르는 문자열입니다. JSON 안에는 마찬가지로 Javascript의 기본 데이터 타입인 문자열, 숫자, 배열, 불리언 그리고 다른 객체를 포함할 수 있습니다.
JSON은 파싱 또는 직렬화 없이도 JavaScript 프로그램에서 사용할 수 있습니다. JSON은 JavaScript 객체 리터럴, 배열, 스칼라 데이터를 표현하는 텍스트 기반의 방식입니다.
JSON은 여러 데이터 유형으로 세분화할 수 있습니다.
배열 데이터 유형은 순서가 지정된 값의 모음입니다. JSON에서 배열 값은 문자열, 숫자, 객체, 배열, Boolean 또는 Null 유형이어야 합니다.
{
"Influencers" : [
{
"name" : "Park",
"age" : 29,
"Works At" : "Tech News"
}
{
"name" : "Kim",
"age" : 35,
"Works At" : "IT Day"
}
]
}
Boolean 값은 참 또는 거짓으로 지정됩니다. Boolean 값은 따옴표로 묶이지 않으며 문자열 값으로 취급됩니다.
{ "AllowPartialShipment" : false }
Null은 빈 값입니다. 키에 어떤 값도 할당되어 있지 않은 경우 해당 키는 Null로 취급할 수 있습니다.
JSON 숫자는 JavaScript의 배정도수 부동소수점 형식을 따릅니다.
{
"number_1" : 210,
"number_2" : 215,
"number_3" : 21.05,
"number_4" : 10.05
}
JSON 객체 데이터는 {}(중괄호) 사이에 삽입된 한 쌍의 이름 또는 값입니다. 키는 반드시 문자열이어야 하며, 쉼표로 구분되고, 고유 값이어야 합니다.
{
"Influencer" : { "name" : "park" , "age" : "29" , "city" , "Seoul" }
}
JSON의 문자열은 유니코드 문자로 구성되며, 백슬래시() 이스케이프 문자를 사용합니다.
{ "name" : "Park" }
JSON.parse를 사용하면 JSON을 본래 값(배열, 객체)으로 역 직렬화 할 수 있습니다.
let parsed = JSON.parse(str, [reviver]);
let userData = '{ "name": "mina", "age": 35, "friends": ["jeon", "chea"] }';
let parsedUserData = JSON.parse(userData)
parsedUserData.name // 'mina'