JavaScript Object Notation
두 개의 데이터를 서로 교황하기 위하여 정의한 포멧
js와 거의 유사한 문법을 가지고 있다.
data : name과 value pair로 지정된다.
데이터의 구분은 ,로 구분된다.
{}로 구분
배열도 사용 가능하다.
이름 대한 것도 " "로 표현. ' ' 으로는 불가능하다.


value로는 a string, a number, an object, an array, a boolean, null을 지원한다.
js는 여기에 function, a date, undefined을 추가로 지원한다.
일단 js객체
https://www.w3schools.com/js/tryit.asp?filename=tryjson_object_access
https://www.w3schools.com/js/tryit.asp?filename=tryjson_object_access2
https://www.w3schools.com/js/tryit.asp?filename=tryjson_modify_object
https://www.w3schools.com/js/tryit.asp?filename=tryjson_modify_object2








js값을 서버에서 json을 받으면 변환해야하는데
이때 JSON.parse()을 사용하여 js의 객체로 변환시킨다.
배열 또한 js형식으로 변환이 가능하다.
date타입은 string을 저장된 obj로 받은 다음에 new Date()를 이용하여 변환하면 된다.
function도 같은 방법으로 변환하면 된다. 여기서은 eval을 사용하게 되는데, eval은 안의 있는 내용을 함수로 실행하는 기능을 가진다. 그냥 undefinedf되기 때문에 ()를 추가로 넣어서 function type으로 변환해준다.
js object를 json의 형태로 변환하기 위해 사용
배열 : https://www.w3schools.com/js/tryit.asp?filename=tryjson_stringify_array

date는 stringtype으로 변환된다.
function은 2가지가 있따. 일단 그냥 stringfy를 사용하면 변환되지 않는다. 이걸 보간하기 위해
1. tostring을 사용하여 강제적으로 stringtype으로 변셩
You can create a JavaScript object from a JSON object literal Try it!
You create a JavaScript object by parsing a JSON string Try it!
https://www.w3schools.com/js/tryit.asp?filename=tryjson_object_literal
https://www.w3schools.com/js/tryit.asp?filename=tryjson_object_parse

myboj.name으로도 접근 가능
반복 접근
https://www.w3schools.com/js/tryit.asp?filename=tryjson_object_loop
접근은 일단 변환하면 동일

https://www.w3schools.com/js/tryit.asp?filename=tryjson_array_access
https://www.w3schools.com/js/tryit.asp?filename=tryjson_array_loop_in
PHP에서는 json_encode(), json_decode()가 있다.

stdclass()-> 빈 오브젝트. 오브적트를 생성할 때 사용한다.
배열을 저장할 때는 단순히 json_encode를 사용해도 된다.
https://www.w3schools.com/js/showphp.asp?filename=demo_file_array

(json값, true/false) -> false가 기본값. php의 객체 형태로 변환. trueaus associate array로 변환된다.

true면 이렇다.
