Achievement Goals
JSON 구조가 재귀 함수를 사용할 수 있는 Tree 구조임을 이해할 수 있다.
👉🏻 stringifyJSON
JSON.stringify 와 JSON.parse 가 seriealize, deserialize라는 것을 이해할 수 있다.
JSON.stringify 와 JSON.parse 를 사용하여 자바스크립트 값과 JSON을 넘나들 수 있다.
JSON에 재귀 호출을 사용할 때, 어디에 사용해야 할지 이해할 수 있다.
데이터 교환을 위해 만들어진 프로그램.
만약 메시지를 전송한다고 했을때 수신/발신자는 같은 프로그램을 사용하거나 문자열처럼 범용적으로 사용할 수 있어야 한다.
객체는 타입 변환을 이용해 String으로 변환할 경우 객체 내용을 포함하지 않습니다. JavaScript에서 객체에 메소드(message.toString())나 형변환(String(message))을 시도하면, [object Object] 라는 결과를 리턴합니다.
이 문제를 해결하는 방법은 객체를 JSON의 형태로 변환하거나 JSON을 객체의 형태로 변환하는 방법입니다. 이를 위한 메소드는 다음과 같습니다.
JSON.stringify 과 JSON.parse 는 서로 반대되는 타입이다.
JSON.stringify : Object type을 JSON으로 변환.
JSON.parse : JSON을 Object type으로 변환
어떠한 객체를 stringfy 하면 typeof 는 object 가 아닌 string 으로 나오는 것을 볼 수 있다. (생긴 형태는 `` -> 문자열만 붙었을 뿐, 그대로 객체형태이다.)
이렇게 stringfy하는 과정을 직렬화(seriealize) 라고 한다.
그렇다면 직렬화를 통해 문자열 수정이 완료되었다면 이를 다시 객체화 시켜야 한다.
이때 쓰는것은 JSON.parse 이며 역직렬화 라고 한다.