개발 과정에서 JavaScript 개체를 JSON 데이터로 변환해야 하는 경우가 종종 있습니다. JSON(JavaScript Object Notation)은 JavaScript 객체의 구문과 구조를 기반으로 한 경량 데이터 교환 형식으로 프런트엔드 및 백엔드 데이터 전송 및 저장에 널리 사용됩니다.
JavaScript에서 객체는 여러 속성과 메서드를 포함할 수 있는 복잡한 데이터 유형입니다. 객체를 JSON 데이터로 변환할 때 JavaScript 객체를 문자열 형식의 JSON 데이터로 직렬화하는 JSON.stringify() 메서드를 사용할 수 있습니다. 몇 가지 예를 살펴보겠습니다.
// 定义一个 JavaScript 对象 var person = { name: "张三", age: 18, gender: "男" }; // 将 JavaScript 对象转换为 JSON 数据 var json = JSON.stringify(person); // 输出 JSON 数据 console.log(json); // 输出:{"name":"张三","age":18,"gender":"男"}
위 예에서는 이름, 나이, 성별이라는 세 가지 속성을 가진 person이라는 JavaScript 개체를 정의했습니다. 그런 다음 JSON.stringify() 메서드를 사용하여 객체를 JSON 데이터로 변환하고 JSON 데이터를 콘솔에 출력합니다.
단순 객체 외에도 JSON.stringify() 메서드는 배열, 문자열, 값 등을 포함한 다른 데이터 유형을 직렬화할 수도 있습니다. 다음은 몇 가지 예입니다.
// 序列化字符串 var str = "Hello World!"; var json = JSON.stringify(str); console.log(json); // 输出:""Hello World!"" // 序列化数组 var arr = [1, 2, 3]; var json = JSON.stringify(arr); console.log(json); // 输出:"[1,2,3]" // 序列化数值 var num = 123; var json = JSON.stringify(num); console.log(json); // 输出:"123"
JSON 직렬화를 수행할 때 객체에 함수, 정의되지 않음 등과 같은 잘못된 값이 포함되어 있으면 무시됩니다. 동시에 JSON.stringify()는 직렬화해야 하는 속성 컬렉션 또는 사용자 정의 직렬화 함수를 지정하는 데 사용되는 두 번째 매개변수도 허용할 수 있습니다.
다음은 몇 가지 예입니다.
// 序列化指定属性 var person = { name: "张三", age: 18, gender: "男", email: "zhangsan@example.com" }; var json = JSON.stringify(person, ["name", "age"]); console.log(json); // 输出:"{"name":"张三","age":18}" // 自定义序列化函数 var person = { name: "张三", age: 18, gender: "男", toJSON: function() { return { name: this.name, gender: this.gender }; } }; var json = JSON.stringify(person); console.log(json); // 输出:"{"name":"张三","gender":"男"}"
위 예에서는 두 번째 매개변수를 사용하여 이름 및 연령 속성만 직렬화하도록 지정하거나 사용자 정의 toJSON() 함수를 사용하여 객체의 직렬화 논리를 지정합니다.
요약하자면, JavaScript 개체를 JSON 데이터로 변환하는 것은 일반적인 작업이며 JSON.stringify() 메서드를 사용하여 수행할 수 있습니다. 기본 객체, 배열, 문자열 및 숫자 유형 외에도 두 번째 매개변수 또는 사용자 정의 toJSON() 함수를 사용하여 직렬화 논리를 사용자 정의할 수도 있습니다.
위 내용은 자바스크립트 객체 转 json의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!