> 웹 프론트엔드 > 프런트엔드 Q&A > 자바스크립트 객체 转 json

자바스크립트 객체 转 json

WBOY
풀어 주다: 2023-05-15 19:33:37
원래의
2638명이 탐색했습니다.

개발 과정에서 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿