json.stringify () 와 json.parse()의 차이 및 용도
2911 단어 json.stringify()json.parse()
하나, JSON.stringify () 및 JSON.parse() 차이점
우리는 모두 JSON을 사용한 적이 있다.stringify () 및 JSON.parse(), 이름부터 알 수 있습니다.
JSON.stringify()의 역할은 JavaScript 객체를 JSON 문자열로 변환하는 것입니다.
JSON.parse()는 JSON 문자열을 하나의 객체로 변환할 수 있습니다.
알기 쉬운 버전:
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 () 내용은 저희 이전의 글을 검색하거나 아래의 관련 글을 계속 훑어보시기 바랍니다. 앞으로 많은 응원 부탁드립니다!