JSON.stringify에서 정의되지 않은 값을 유지하는 방법
2872 단어 javascript
undefined
값을 허용하지 않으므로 정의되지 않은 값을 포함하는 객체를 문자열화하려고 하면 키가 제거됩니다.const person = { name: 'Peter', age: undefined };
JSON.stringify(person);
// '{"name":"Peter"}'
반환 값에 유지하는 해결 방법
undefined
이 있지만 사양의 일부가 아니기 때문에 문자열을 다시 JSON으로 구문 분석할 수 없습니다. 대신 유효한 null
로 바꿀 수 있습니다.JSON.stringify에는 stringify 프로세스 중에 속성을 재귀적으로 변환할 수 있는 선택적 두 번째 매개 변수replacer가 있습니다.
JSON.stringify의
replacer
매개변수를 사용하여 undefined
값을 허용되는 값(예: null
)으로 바꿀 수 있습니다.const person = { name: 'Peter', age: undefined };
function replacer(key, value) {
return value === undefined ? null : value;
}
JSON.stringify(person, replacer);
// '{"name":"Peter","age":null}'
이것이 유용할 수 있는 사용 사례의 예로는 정의되지 않은 값을 서버에 알려야 하는 경우 네트워크 요청 페이로드가 있습니다. POST 요청에는 문자열 본문이 있습니다. 개체를 통해 보내야 하는 경우 요청을 해야 합니다
JSON.stringify
. 위의 접근 방식은 정의되지 않은 값을 보내는 데 도움이 됩니다(서버가 null
를 허용 가능한 값으로 이해하는 경우).
Reference
이 문제에 관하여(JSON.stringify에서 정의되지 않은 값을 유지하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/petermekhaeil/how-to-keep-undefined-values-in-jsonstringify-3kip텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)