2.24[JSON]

Lee·2023년 2월 24일
0

오.배.이.안& 회고

목록 보기
10/46

복습&&

json에 대해서 알아보자!

JSON(JavaScript Object Notation)

JSON 이란 클라이언트와 서버간에 데이터를 저장하거나 주고 받을 때 많이 사용되는 방식.

클라이언트와 서버간 API를 통해서 응답,요청시에 데이터를 주고 받을 때 사용됨.

JSONXML을 대체해서 데이터 전송 등에 많이 사용함.

JSON은 단순히 데이터를 전송하는 하나의 방법이지 프로그래밍 문법, 클라와 서버간의 통신 방법이 아님!


JSON 특징

클라이언트와 서버 간의 교류에서 일반적으로 많이 사용!

JavaScript 객체 표기법과 아주 유사함!
(JSON 문서 형식이 JS 객체의 형식을 기반으로 만들어졌기 때문)

JS 문법과 유사하지만 텍스트 형식일 뿐이다.

다른 프로그래밍 언어에서도 사용 가능하다!!

JSON이 지원하는 데이터 형식이 한정되어 있다.(객체, 배열)
(모든 데이터를 JSON으로 전송 하는것은 아님!)


JSON 문법

데이터 타입 중 배열은 ["값"] 객체는 { "키" : "값"} 의 형태로
(JS 의 배열, 객체와 유사) 나타냄

키와 값은, 배열안의 값은 항상 쌍따옴표를 이용하여 표기하여야함!!!!!!!!!

일반 자바스크립트의 객체처럼 원하는 만큼 중첩시켜서 사용할 수도 있음 중첩시에는 (,) 사용

값에 들어올 수 있는 형식으로는 null , number, string, true, false, object, array을 사용할 수 있음.

"{ 
     " name" : "lee",
      "age" : 27,
      "email" : "tmdghks8642@naver.com"     
     "hobby" : [ "study" , "soccer"]      
}"

JSON이 없던 시절에는 서버와 클라이언트간에 데이터를(객체,배열)을 그대로 전송하는게 불가능하니.
객체,배열을 --> 문자열로 만들어서 전송 ---> 전송받은 문자열을 ---> 객체나 배열로 변환
하는 작업을 해야했음!
아주 복잡한 데이터들을 전송하는것이 아주 불편하고 어려웠다는 것!


JSON의 문제점

AJAX는 단순히 JSON 으로 데이터만 전달할 수 있는게 아니라 JS 그 자체도 전달할 수 있다.

--> JSON 데이터라고 해서 받았는데 데이터가 아니라 JS를 받은 걸 수도 있고, JS 으로 실행 될 수 있다는 것이다.

이러한 문제들로 인해서 순수하게 데이터만을 추출하기 위한 JSON관련 라이브러리를 따로 사용하기도 함!


ajax 란?

asynchronous javascript and XML 의 줄임말 이다.

자바스크립트를 이용해 서버와 브라우저가 비동기 방식으로 데이터를 교환할 수 있는 통신 기능

즉, 자바스크립트를 통해서 서버에 데이터를 비동기 방식으로 요청하는 것임

이러면 클라이언트의 경우에는 화면을 새로고침하지 않고 일부만을 변경할 수 있음.


JSON 사용하는 방법

  • 각 프로그래밍 언어마다 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 형식 문자열을 자바스크립트 객체로 변환

0개의 댓글