json에 대해서 알아보자!
JSON
이란 클라이언트와 서버간에 데이터를 저장하거나 주고 받을 때 많이 사용되는 방식.
클라이언트와 서버간 API
를 통해서 응답,요청
시에 데이터를 주고 받을 때 사용됨.
JSON
은 XML
을 대체해서 데이터 전송 등에 많이 사용함.
JSON
은 단순히 데이터를 전송하는 하나의 방법이지 프로그래밍 문법, 클라와 서버간의 통신 방법이 아님!
클라이언트와 서버 간의 교류에서 일반적으로 많이 사용!
JavaScript 객체 표기법
과 아주 유사함!
(JSON
문서 형식이 JS 객체의 형식을 기반
으로 만들어졌기 때문)
JS 문법과 유사하지만 텍스트 형식일 뿐이다.
다른 프로그래밍 언어에서도 사용 가능하다!!
JSON이 지원하는 데이터 형식이 한정되어 있다.(객체, 배열)
(모든 데이터를 JSON으로 전송 하는것은 아님!)
데이터 타입 중 배열은 ["값"]
객체는 { "키" : "값"}
의 형태로
(JS 의 배열, 객체와 유사) 나타냄
키와 값은, 배열안의 값은 항상 쌍따옴표
를 이용하여 표기하여야함!!!!!!!!!
일반 자바스크립트의 객체처럼 원하는 만큼 중첩시켜서 사용할 수도 있음 중첩시에는 (,) 사용
값에 들어올 수 있는 형식으로는 null , number, string, true, false, object, array을 사용할 수 있음.
"{
" name" : "lee",
"age" : 27,
"email" : "tmdghks8642@naver.com"
"hobby" : [ "study" , "soccer"]
}"
JSON
이 없던 시절에는 서버와 클라이언트간에 데이터를(객체,배열)을 그대로 전송하는게 불가능하니.
객체,배열을 --> 문자열로 만들어서 전송 ---> 전송받은 문자열을 ---> 객체나 배열로 변환
하는 작업을 해야했음!
아주 복잡한 데이터들을 전송하는것이 아주 불편하고 어려웠다는 것!
AJAX
는 단순히 JSON
으로 데이터만 전달할 수 있는게 아니라 JS 그 자체도 전달할 수 있다.
-->
JSON
데이터라고 해서 받았는데 데이터가 아니라JS
를 받은 걸 수도 있고,JS
으로 실행 될 수 있다는 것이다.
이러한 문제들로 인해서 순수하게 데이터만을 추출하기 위한 JSON관련 라이브러리를 따로 사용하기도 함!
asynchronous javascript and XML
의 줄임말 이다.
자바스크립트를 이용해 서버와 브라우저가 비동기 방식
으로 데이터를 교환할 수 있는 통신 기능
즉, 자바스크립트를 통해서 서버에 데이터를 비동기 방식으로 요청하는 것임
이러면 클라이언트의 경우에는 화면을 새로고침하지 않고 일부만을 변경할 수 있음.
JSON화 시키는 API
가 존재한다.
JSON.stringify(JSON 문자열로 변환할 값 )
JavaScript ---> JSON 로 변환한다.
javascript
안에obj
라는 객체를 만들어 정보를 담아두고
JSON.stringify(obj)
를 사용해서json의 문자열로 변환한다.
JSON의 정보
들은쌍따옴표
로 감싼다! (문자취급을 받는다는 이야기~)
JSON.parse ( JSON으로 변환할 문자열 )
JSON --->JavaScript 로 변환한다.
JSON
으로 변환한 데이터 변수obj
에 대해
JSON.parse(obj)
으로 다시 자바스크립트 형식으로 변환!
이 뿐만 아니라 하나의 파일을 만들어 저장해 놓을 수 도 있다!
어쩌구저쩌구.json 으로 만들면 된다.
var jsontext = { " name " : " lee " , " email" : " tmdghks8642@naver.com" } ;
자바스크립트에서의 JSON 형식의 문자열을 가지는 객체
var jsontext2 =
JSON.stringify(jsobject)
자바스크립트의 객체를 JSON 형식 문자열로 변환
var jsobject=
JSON.parse(jsontext);
JSON 형식 문자열을 자바스크립트 객체로 변환