를 사용하여 위의 객체를 JSON으로 변환하면 var jSonString = JSON.stringify(testObject);
2 (JS obj와 JSON)의 차이점은 무엇입니까?
JSON 은 데이터 교환 형식입니다. 정렬 된 목록과 정렬되지 않은 맵, 문자열 부울 및 숫자를 문자열로 표현하는 방법을 설명하는 표준입니다. XML과 YAML이 언어간에 구조화 된 정보를 전달하는 방법 인 것처럼 JSON도 동일합니다. 반면에 JavaScript 객체는 물리적 유형입니다. C ++ 클래스 / 구조체 인 PHP 배열과 마찬가지로 JavaScript 객체는 JavaScript 내부의 유형입니다.
이야기가 있습니다. 상점에서 일부 가구를 구입했으며 배송을 원한다고 가정 해 봅시다. 그러나 재고가 남아있는 유일한 것은 디스플레이 모델이지만 귀하는 그것을 구매하기로 동의합니다.
상점에서 구입 한 서랍장은 살아있는 물건입니다.
var chestOfDrawers = {
color: "red",
numberOfDrawers: 4
}
그러나 게시물에 서랍장을 보낼 수 없으므로 게시물을 해체하십시오 (읽고 문자열 화). 이제는 가구면에서 쓸모가 없습니다. 이제 JSON입니다. 플랫 팩 형태입니다.
{"color":"red","numberOfDrawers":4}
당신이 그것을받을 때, 당신은 서랍장을 다시 작성 (읽고 구문 분석). 이제 객체 형태로 돌아 왔습니다.
JSON / XML 및 YAML의 이유는 프로그래밍 언어간에 데이터를 모두 참여 언어가 이해할 수있는 형식으로 전송할 수 있기 때문입니다. PHP 또는 C ++에 JavaScript 객체를 직접 제공 할 수 없습니다. 각 언어는 실생활에서 다르게 개체를 나타 내기 때문입니다. 그러나 객체를 JSON 표기법으로 문자열 화했기 때문에; 즉, 데이터를 표현하는 표준화 된 방법으로 , 객체 의 JSON 표현 을 다른 언어 (C ++, PHP)로 전송할 수 있으며, 객체 의 JSON 표현을 기반 으로 자신의 객체로 JavaScript 객체를 다시 생성 할 수 있습니다 .
JSON은 함수 나 날짜를 나타낼 수 없습니다. 함수 멤버로 객체를 문자열 화하려고하면 JSON 표현에서 함수가 생략됩니다. 날짜는 문자열로 변환됩니다.
JSON.stringify({
foo: new Date(),
blah: function () {
alert('hello');
}
}); // returns the string "{"foo":"2011-11-28T10:21:33.939Z"}"