1. JSON(JavaScript Object Notation)
・ JSON의 위키백과 내용입니다.
JSON(JavaScript Object Notation)은 속성-값 또는 "키-값 쌍"으로 이루어진 데이터 오브젝트를 전달하기 위해 인간이 읽을 수 있는 텍스트를 사용하는 개방형 표준 포맷입니다.
비동기 브라우저/서버 통신(AJAX)을 위해, 넓게는 XML(AJAX가 사용)를 대체하는 주요 데이터 포맷입니다. 특히, 인터넷에서 자료를 주고받을 때 그 자료를 표현하는 방법으로 알려져 있습니다.
・ 즉, 데이터를 전달하기 위한 파일 형식입니다. 우리가 알고 있는 HTML, XML 같은 형식 중 하나입니다.
・ 또한, JavaScript Object Notation이라는 이름에서 알 수 있듯이, 자바스크립트 언어로부터 파생되었기 때문에, 자바스크립의 구문 형식을 따릅니다. 따라서, 자바스크립트의 eval() 또는 JSON.parse를 이용하여 JSON 오브젝트로 이용할 수 있습니다.
・ 그리고, JavScript 이외에도 다양한 프로그래밍 언어에서 JSON의 형식을 만들고 읽을 수 있는 라이브러리가 존재하기 때문에, 언어에 종속되지 않고 편하게 데이터를 교환할 수 있는 장점이 있습니다.
2. JSON의 형식
・ JSON은 문자열 / 숫자 / null / Boolean / Object / 배열로 6가지의 데이터 타입을 가지고 있습니다.
・ API에서 JSON형식을 자주 사용합니다. 예를 들어서 어떠한 request 요청이 있었을 때, 아래와 같은 JSON 형식으로 response를 보낸다면,
array = ["BELLSTONE", "BLOG"]
test = Test.find_by(id: 1)
response = {
string: "BELLSTONE",
integer: 0,
boolean: true,
null: nil,
array: array,
object: object
}
・ 이러한 JSON 형식으로 response 받을 수 있습니다.
{
"string": "BELLSTONE",
"integer": 0,
"boolean": true,
"null": null,
"array": [
"BELLSTONE",
"BLOG"
],
"object": "#<Test:0x49fce30>",
"object_id": {
"id": 1,
"created_at": "2019-03-26 13:56:26 UTC",
"updated_at": "2019-03-26 13:56:26 UTC"
},
}
3. JSON 데이터 타입
① 문자열
{
"name": "BELLSTONE",
"type": "IT_BLOG"
}
② 숫자
・ 숫자는 정수, 지수, 소수점으로 나타낼 수 있습니다.
{
"number": 1,
"real_number": 0.111
}
③ Null
{
"number": 1,
"is_nul" : null
}
④ Boolean
・ boolean은 true, false로 구분하지만, 대문자로 사용하면 안 되는 언어도 있기 때문에, 주로 소문자로 사용합니다.
{
"true": true,
"false": false
}
⑤ Object
・ 객체는 {}로 둘러싸여 있습니다.
{
"blog": {
"name" : "BELLSTONE"
"type_1" : "IT_BLOG"
"type_2" : "Korea"
"type_3" : "Japan"
"date" : {
created_at : "2019-03-27"
updated_at : "2019-03-28"
}
}
⑥ Array
・ 배열은 []로 구분되며 컴마(,)로 나열합니다.
{
"Array" : [
"한국",
"일본",
"중국"
]
}
・ API를 사용할 때 또는 Postman으로 테스트할 때, 직접 입력해야 하는 경우도 있기 때문에, 기본적인 문법을 정리해보았습니다.
・ 그럼 끝!
'IT > 몰라요' 카테고리의 다른 글
URI, URL, URN 차이점 정리! (0) | 2019.05.20 |
---|---|
Markdown, 사용법 정리 (0) | 2019.05.18 |
Mac, 터미널 명령어 정리! (0) | 2019.05.13 |
텍스트 에디터, Visual Studio Code 설치부터 실행까지 (0) | 2019.05.11 |
텍스트 에디터, gPad 설치부터 실행까지 (0) | 2019.05.09 |