>웹 프론트엔드 >JS 튜토리얼 >JavaScript_javascript 기술의 객체 직렬화 소개

JavaScript_javascript 기술의 객체 직렬화 소개

WBOY
WBOY원래의
2016-05-16 16:23:191068검색

Java 언어와 마찬가지로 JavaScript에서도 객체를 직렬화 및 역직렬화하여 객체를 저장할 수 있습니다. ECMAScript 5 표준에서 JavaScript의 객체 직렬화는 JSON.stringify()를 통해 구현되고, 역직렬화는 JSON.parse()를 통해 구현됩니다.


코드 복사 코드는 다음과 같습니다.

var o = {x:1, y:29, z:42};
var s = JSON.stringify(o);
console.log(s);//{"x":1,"y":29,"z":42}
var c = JSON.parse(s);
console.log(c);//객체 {x=1, y=29, z=42}


ECMAScript 3 표준만 지원하는 브라우저의 경우 Douglas Crockford(https://github.com/douglascrockford/JSON-js)가 작성한 json2.js를 사용할 수 있습니다.

객체를 직렬화하는 과정에서 NaN, Infinity 및 -Infinity는 "null"로 직렬화됩니다. Date 객체는 해당 시간을 나타내는 문자열로 직렬화됩니다(그러나 JSON.parse()를 사용하여 역직렬화하면 time 문자열은 일반 문자열로 존재하며 Date 객체로 재구성되지 않습니다.

JSON.stringify()를 사용하여 객체를 직렬화하는 경우 직렬화된 속성은 객체 자체(Own)의 열거 가능한 속성으로 제한됩니다. JSON.stringify()가 실행 중일 때 JavaScript는 먼저 직렬화해야 하는 객체에 toJSON() 메서드가 있는지 확인합니다. toJSON() 메서드가 있으면 해당 메서드가 호출되고 반환된 결과가 반환값으로 사용됩니다. 직렬화 대상. toJSON() 메서드가 없으면 기본 직렬화 메서드가 사용됩니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.