json.stringify () 와 json.parse()의 차이 및 용도

하나, JSON.stringify () 및 JSON.parse() 차이점


우리는 모두 JSON을 사용한 적이 있다.stringify () 및 JSON.parse(), 이름부터 알 수 있습니다.
JSON.stringify()의 역할은 JavaScript 객체를 JSON 문자열로 변환하는 것입니다.
JSON.parse()는 JSON 문자열을 하나의 객체로 변환할 수 있습니다.
알기 쉬운 버전:
  • JSON.stringify () 대상 a를 문자열 s로 변환하기;
  • JSON.parse () 문자열 s를 대상 a;
  • 간단하게 말하자면, 그것들의 역할은 상대적이다. 나는 JSON을 사용한다.stringify () 는 대상 a를 문자열 c로 만들었습니다. 그러면 저는 JSON을 사용할 수 있습니다.parse () 는 문자열 c를 대상 a로 복원합니다.
    
    let arr = [1,2,3];
    JSON.stringify(arr);//'[1,2,3]'
    typeof JSON.stringify(arr);//string
    
    let string = '[1,2,3]';
    console.log(JSON.parse(string))//[1,2,3]
    console.log(typeof JSON.parse(string))//object
    
    JSON을 사용하고 있습니다.parse () 는 JSON 문자열을 객체로 변환하는 방법을 사용하므로 키 값을 모두 큰따옴표로 감싸는 JSON 형식에 맞는 문자열을 사용해야 합니다.
    
    let a = '["1","2"]';
    let b = "['1','2']";
    console.log(JSON.parse(a));// Array [1,2]
    console.log(JSON.parse(b));//  

    2. JSON.stringify () 묘용


    1. 수조가 어떤 대상을 포함하고 있는지 판단하거나 대상이 같은지 판단한다.
    
    // 
    let data = [
      {name:' '},
      {name:'css '},
      {name:'js '},
      ],
      val = {name:' '};
    JSON.stringify(data).indexOf(JSON.stringify(val)) !== -1; // true
    
    // / 
    let a = [1,2,3],
      b = [1,2,3];
    JSON.stringify(a) === JSON.stringify(b);//true
    2. localStorage/sessionStorage가 객체를 저장할 수 있도록 합니다.
    localStorage/sessionStorage는 기본적으로 문자열만 저장할 수 있지만 실제 개발에서 우리가 저장해야 하는 데이터는 대부분 대상 유형이다. 그러면 여기서 우리는 저장할 때 json을 이용할 수 있다.stringify () 는 대상을 문자열로 바꾸고, 캐시를 찾을 때, json과 협조하기만 하면 됩니다.parse () 객체를 반환하면 됩니다.
    
    // 
    function setLocalStorage(key,val){
      window.localStorage.setItem(key,JSON.stringify(val));
    };
    // 
    function getLocalStorage(key){
      let val = JSON.parse(window.localStorage.getItem(key));
     window.localStorage.removeItem(key)
      return val;
    };
    // 
    let data = [
      {name:' '},
      {name:'css '},
      {name:'js '},
      ];
    setLocalStorage('STORAGEDATE',data);
    let a = getLocalStorage('STORAGEDATE'); 
    
    3. 객체 딥 카피 구현
    실제 개발에서 만약에 원 데이터에 영향을 줄까 봐 우리는 항상 데이터를 깊이 복사하여 임의의 조작을 하지만 사실은 JSON을 사용한다.stringify () 와 JSON.parse () 로 깊은 복사를 하는 것은 좋은 선택이다.
    
    // 
    function deepClone(data) {
      let _data = JSON.stringify(data),
        dataClone = JSON.parse(_data);
      return dataClone;
    };
    // 
    let arr = [1,2,3],
      _arr = deepClone(arr);
    arr[0] = 2;
    console.log(arr,_arr)//[2,2,3] [1,2,3]
    여기 json에 관한 이야기입니다.stringify () 와 json.parse()의 차이점과 용도에 대한 글은 여기까지 소개합니다.stringify () 와 json.parse () 내용은 저희 이전의 글을 검색하거나 아래의 관련 글을 계속 훑어보시기 바랍니다. 앞으로 많은 응원 부탁드립니다!

    좋은 웹페이지 즐겨찾기