
JSON (JavaScript Obejct Notation)
JSON은 JavaScript Object Notation 의 약자로, 데이터를 저장하거나 전송할 때 많이 사용되는 경량의 DATA 교환 형식을 말한다. 해당 문장을 직역하면 '자바 스크립트 객체 표기법' 으로, 데이터를 쉽게 교환하고 저장하기 위한 텍스트 기반의 데이터 교환 표준을 말한다. JSON은 텍스트 기반이기에 다양한 프로그래밍 언어에서 데이터를 읽고 사용할 수 있다. 또한 JSON은 데이터 포맷일 뿐이며 어떠한 통신 방법과 프로그래밍 문법도 아닌 단순히 데이터를 표시하는 방법이다.
JSON 특징
- 서버와 클라이언트간의 교류에서 일반적으로 많이 사용.
- JavaScript 객체 표기법과 유사.
- JavaScript를 이용하여 JSON 형식의 문서를 쉽게 JavaScript 객체로 변환할 수 있다.
- JSON 문서 형식은 JavaScript 객체의 형식을 기반으로 만들어졌다.
- JavaScript 문법과 유사하지만 텍스트 형식이다.
- 다른 프로그래밍 언어를 이용해서도 쉽게 만들 수 있다.
- 특정 언어에 종속되지 않고, 대부분의 프로그래밍 언어에서 JSON 포맷의 데이터를 핸들링할 수 있는 라이브러리를 제공한다.
XML / JSON
데이터를 나타낼 수 있는 방식은 여러가지가 존재하지만, 가장 대표적인것은 XML 이였고, 그 이후 가장 많이 사용되는 것은 JSON 일 것이다.
- XML : 데이터 값 양쪽으로 태그가 존재한다.
- JSON : 태그로 표현하지 않고, 중괄호( {} ) 의 형식을 사용하고, 나열하기에 간단하다
JSON 사용 예시
{
"employees": [
{
"name": "Soohyuck",
"lastName": "Jang"
},
{
"name": "GilDong",
"lastName": "Hong"
},
{
"name": "ChulSoo",
"lastName": "Kim"
}
]
}
JSON 형식은 JavaScript 객체와 마찬가지로 Key / Value 가 존재할 수 있으며, Key 값이나 문자열은 항상 쌍따옴표를 이용하여 표기해야 한다. 또한 객체, 배열 등의 표기를 사용할 수 있다.
JSON 형식에서는 null, number, string, array, object, boolean을 사용할 수 있다.
값 | 타입 |
1 | 숫자(number) |
"str" | 문자열(string) |
true | 불리언(boolean) |
{inKey : value} | 객체(object) |
[ "일", "이" ] | 배열(array) |
null | 널(null) |
JSON 형식
1. name-value 형식
- 여러가지 언어들에서 object, hashtable, struct 등으로 실현되었다.
- { String key : String value }
{
"firstName": "SooHyuck",
"lastName": "Jang",
"email": "soohykeee@email.com"
}
2. 값들의 순서화된 리스트 형식
- 여러가지 언어들에것 배열(array), 리스트(list) 등으로 실현되었다.
- [ value1, value2, .... ]
{
"firstName": "SooHyuck",
"lastName": "Jang",
"email": "soohykeee@email.com",
"hobby": ["coding","running"]
}
JSON의 문제점
AJAX는 단순히 데이터뿐만 아니라 JavaScript 그 자체도 전달할 수 있다. 이 말은 JSON 데이터라고 해서 받았는데 단순 데이터가 아니라 JavaScript 가 될 수도 있고, 그게 실행 될 수 있다는 것이다. 즉, 데이터인줄 알고 받았는데 악성 스크립트가 될 수 있다는 뜻이다.
위와 같은 이유로 받은 내용에서 순수하게 데이터만 추출하기 위한 JSON 관련 라이브러리를 따로 사용하기도 한다.
[개념] AJAX는 무엇인가?
AJAX (Asynchronous Javascript And XML) AJAX는 JavaScript 의 라이브러리 중 하나이며 비동기식 자바스크립트와 xml 의 약자이다. 브라우저가 갖고있는 XML HttpRequest 객체를 이용해서 전체 페이지를 새로 고치지
soohykeee.tistory.com
JSON 형식 텍스트를 JavaScript Obejct로 변환
var jsonText = '{ "name": "SooHyuck", "lastName": "Jang" }'; // JSON 형식의 문자열
var realObject = JSON.parse(jsonText);
var jsonText2 = JSON.stringify(realObject);
console.log(realObject);
console.log(jsonText2);
JavaScript에서는 JSON을 사용하기 위해서 다음과 같은 메소드를 제공한다.
- JSON.stringify(arg) : JavaScript 객체 -> JSON 텍스트 문자열
- JSON.parse(arg) : JSON 텍스트 문자열 -> JavaScript 객체
위의 두 메소드는 객체와 문자열로의 변환을 위해서 존재한다.
참고
https://nesoy.github.io/articles/2017-02/JSON
https://velog.io/@surim014/JSON%EC%9D%B4%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%B8%EA%B0%80
https://codingazua.tistory.com/4

JSON (JavaScript Obejct Notation)
JSON은 JavaScript Object Notation 의 약자로, 데이터를 저장하거나 전송할 때 많이 사용되는 경량의 DATA 교환 형식을 말한다. 해당 문장을 직역하면 '자바 스크립트 객체 표기법' 으로, 데이터를 쉽게 교환하고 저장하기 위한 텍스트 기반의 데이터 교환 표준을 말한다. JSON은 텍스트 기반이기에 다양한 프로그래밍 언어에서 데이터를 읽고 사용할 수 있다. 또한 JSON은 데이터 포맷일 뿐이며 어떠한 통신 방법과 프로그래밍 문법도 아닌 단순히 데이터를 표시하는 방법이다.
JSON 특징
- 서버와 클라이언트간의 교류에서 일반적으로 많이 사용.
- JavaScript 객체 표기법과 유사.
- JavaScript를 이용하여 JSON 형식의 문서를 쉽게 JavaScript 객체로 변환할 수 있다.
- JSON 문서 형식은 JavaScript 객체의 형식을 기반으로 만들어졌다.
- JavaScript 문법과 유사하지만 텍스트 형식이다.
- 다른 프로그래밍 언어를 이용해서도 쉽게 만들 수 있다.
- 특정 언어에 종속되지 않고, 대부분의 프로그래밍 언어에서 JSON 포맷의 데이터를 핸들링할 수 있는 라이브러리를 제공한다.
XML / JSON
데이터를 나타낼 수 있는 방식은 여러가지가 존재하지만, 가장 대표적인것은 XML 이였고, 그 이후 가장 많이 사용되는 것은 JSON 일 것이다.
- XML : 데이터 값 양쪽으로 태그가 존재한다.
- JSON : 태그로 표현하지 않고, 중괄호( {} ) 의 형식을 사용하고, 나열하기에 간단하다
JSON 사용 예시
{
"employees": [
{
"name": "Soohyuck",
"lastName": "Jang"
},
{
"name": "GilDong",
"lastName": "Hong"
},
{
"name": "ChulSoo",
"lastName": "Kim"
}
]
}
JSON 형식은 JavaScript 객체와 마찬가지로 Key / Value 가 존재할 수 있으며, Key 값이나 문자열은 항상 쌍따옴표를 이용하여 표기해야 한다. 또한 객체, 배열 등의 표기를 사용할 수 있다.
JSON 형식에서는 null, number, string, array, object, boolean을 사용할 수 있다.
값 | 타입 |
1 | 숫자(number) |
"str" | 문자열(string) |
true | 불리언(boolean) |
{inKey : value} | 객체(object) |
[ "일", "이" ] | 배열(array) |
null | 널(null) |
JSON 형식
1. name-value 형식
- 여러가지 언어들에서 object, hashtable, struct 등으로 실현되었다.
- { String key : String value }
{
"firstName": "SooHyuck",
"lastName": "Jang",
"email": "soohykeee@email.com"
}
2. 값들의 순서화된 리스트 형식
- 여러가지 언어들에것 배열(array), 리스트(list) 등으로 실현되었다.
- [ value1, value2, .... ]
{
"firstName": "SooHyuck",
"lastName": "Jang",
"email": "soohykeee@email.com",
"hobby": ["coding","running"]
}
JSON의 문제점
AJAX는 단순히 데이터뿐만 아니라 JavaScript 그 자체도 전달할 수 있다. 이 말은 JSON 데이터라고 해서 받았는데 단순 데이터가 아니라 JavaScript 가 될 수도 있고, 그게 실행 될 수 있다는 것이다. 즉, 데이터인줄 알고 받았는데 악성 스크립트가 될 수 있다는 뜻이다.
위와 같은 이유로 받은 내용에서 순수하게 데이터만 추출하기 위한 JSON 관련 라이브러리를 따로 사용하기도 한다.
[개념] AJAX는 무엇인가?
AJAX (Asynchronous Javascript And XML) AJAX는 JavaScript 의 라이브러리 중 하나이며 비동기식 자바스크립트와 xml 의 약자이다. 브라우저가 갖고있는 XML HttpRequest 객체를 이용해서 전체 페이지를 새로 고치지
soohykeee.tistory.com
JSON 형식 텍스트를 JavaScript Obejct로 변환
var jsonText = '{ "name": "SooHyuck", "lastName": "Jang" }'; // JSON 형식의 문자열
var realObject = JSON.parse(jsonText);
var jsonText2 = JSON.stringify(realObject);
console.log(realObject);
console.log(jsonText2);
JavaScript에서는 JSON을 사용하기 위해서 다음과 같은 메소드를 제공한다.
- JSON.stringify(arg) : JavaScript 객체 -> JSON 텍스트 문자열
- JSON.parse(arg) : JSON 텍스트 문자열 -> JavaScript 객체
위의 두 메소드는 객체와 문자열로의 변환을 위해서 존재한다.
참고
https://nesoy.github.io/articles/2017-02/JSON
https://velog.io/@surim014/JSON%EC%9D%B4%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%B8%EA%B0%80
https://codingazua.tistory.com/4