자 그럼 JSON을 왜 사용하는가에 대해서 느껴보자.
<time.php>
위의 코드를 살펴보면
timezones이라는 객체에 행렬을 담았다.
첫번째 값은 Asia/Seoul 두번째 값은 America/New_York
그리고 이 값을 출력하는데 이때
implode메소드를 이용하여
각 행렬 사이에 ,를 추가 시켰다.
결과 적으로
Asia/Seoul,America/New_York가 문자열로 리턴된다.
다음 html코드는
time.php를 리턴받는데
if문 이하부터 살펴보면
tzs객체에 xhr에 php가 echo로 출력하는 값을 리턴받는다.
그리고 그 값을
split메소드로 ,를 기준으로 행렬로 만든다.
그리고 빈 문자열을 _str에 담고
반복문을 통하여
행렬들을 _str에 하나씩 담고
마지막에 ul태그도 담아서
<ul>
<li>Aisa/Seoul</li>
<li>America/New_York</li>
</ul>
를 innerHTML에 출력한다.
여기서 문제점은
php의 행렬은 html로 전송하지 못하기 때문에 문자열로 바꾸어 줬다.
그리고 html에서는 값들을 각각 처리해주기 위해서 ,를 기준으로 행렬로 전환해주었다.
그러니까 굳이 행렬 문자열 문자열 행렬 과 같은 방법으로 처리되었다는 것이다.
php코드에서는
문자열로 만들어 주는 implode메소드를 이용하였다.
하지만 json_encode라는 php 메소드를 이용하면
행렬이 json객체의 행렬로 전환되어진다.
그래서 html에서 문자열을 행렬로 바꾸어주는것이 아닌
JSON의 parse메소드를 이용하게 되면
php에서 선언한 형태에 따라서 처리할 수 있게 인코드해준다.
사용할 수 있는 JSON객체들은 다음과 같다.
'Language > JavaScript(ES6)' 카테고리의 다른 글
[Javascript]Map(iterator) (0) | 2018.12.30 |
---|---|
[Javascript] Modern Javascript Tooling (0) | 2018.12.29 |
[JavaScript] JSON(1) (0) | 2018.09.08 |
[Javascript]Ajax (0) | 2018.09.08 |
[Javascript] 마우스 이벤트 (0) | 2018.09.08 |