Link Search Menu Expand Document

JSON.stringify()

Table of contents

  1. JSON.stringify()
    1. Stringify a JavaScript Object
      1. Example
    2. Stringify a JavaScript Array
    3. Exceptions - Stringify Dates
    4. Exceptions - Stringify Functions
    5. 브라우저 지원

JSON.stringify()

Stringify a JavaScript Object

JavaScript 객체를 문자열로 변환

사용하면 객체는 JSON 표기법을 따르는 문자열이 됨

JSON의 일반적인 용도는 웹 서버와 데이터를 주고받는것

웹 서버로 데이터를 보낼 때 데이터는 문자열이어야함

JSON.stringify()으로 자바스크립트 객체를 문자열로 변환

Example

  1. 이 객체가 JavaScript에 있음

     var obj = { name: "John", age: 30, city: "New York" };
    
  2. JavaScript 함수 JSON.stringify()를 사용하여 문자열로 변환

     var myJSON = JSON.stringify(obj);
    
  3. myJSON이 문자열이 되고 서버로 보낼 준비가 됨

     var obj = { name: "John", age: 30, city: "New York" };
     var myJSON = JSON.stringify(obj);
     document.getElementById("demo").innerHTML = myJSON;
    
     //{"name":"John","age":30,"city":"New York"}
    

W3C Example

Stringify a JavaScript Array

  1. 이 객체가 JavaScript에 있음

     var arr = [ "John", "Peter", "Sally", "Jane" ];
    
  2. JavaScript 함수 JSON.stringify()를 사용하여 문자열로 변환

     var myJSON = JSON.stringify(arr);
    
  3. myJSON이 문자열이 되고 서버로 보낼 준비가 됨

     var arr = [ "John", "Peter", "Sally", "Jane" ];
     var myJSON = JSON.stringify(arr);
     document.getElementById("demo").innerHTML = myJSON;
    
     //["John","Peter","Sally","Jane"]       
    

W3C Example

Exceptions - Stringify Dates

날짜 객체는 JSON에서 허용되지 않음

날짜를 포함해야하는 경우 모든 날짜를 문자열로 변환해야함 (수신자로 문자열을 다시 날짜 객체로 변환 할 수 있음)

예제

var obj = { name: "John", today: new Date(), city : "New York" };
var myJSON = JSON.stringify(obj);

document.getElementById("demo").innerHTML = myJSON;

Exceptions - Stringify Functions

JSON에서 함수는 객체 값으로 허용되지 않음

함수를 포함해야 할 경우 문자열로 작성해야함 (나중에 함수로 다시 변환 할 수 있음)

JSON.stringify() 메소드는 JavaScript 객체에서 함수를 제거(키와 값 모두)

함수를 제거하고 싶지 않으면 toString() 메소드를 사용해야 함

예제 : stringify 메소드 사용

var obj = { name: "John", age: function () {return 30;}, city: "New York"};
var myJSON = JSON.stringify(obj);

document.getElementById("demo").innerHTML = myJSON;

예제 : toString 메소드 사용

var obj = { name: "John", age: function () {return 30;}, city: "New York" };
obj.age = obj.age.toString();
var myJSON = JSON.stringify(obj);

document.getElementById("demo").innerHTML = myJSON;

!warning

최대한 함수를 사용하는걸 줄여야 함. 함수의 범위가 없어지고, eval() 메소드로 함수로 다시 변환하는데에 사용해야 하기 때문

브라우저 지원

JSON.stringify()모든 주요 브라우저와 최신 ECMAScript (JavaScript) 표준에 포함


이 웹사이트는 jekyll로 제작되었습니다. Patrick Marsceill, Distributed by an MIT license.