17370845950

js对象转json字符串
使用JSON.stringify()可将JavaScript对象转为JSON字符串。例如const obj = { name: "张三", age: 25, city: "北京" }; const jsonString = JSON.stringify(obj); 输出{"name":"张三","age":25,"city":"北京"}。该方法会忽略函数、undefined和Symbol值,如{ name: "李四", fn: function(){}, temp: undefined }转换后为{"name":"李四"}。支持数组和嵌套对象转换,如{ user: { name: "王五", age: 30 }, hobbies: ["读书", "游泳"] }转为{"user":{"name":"王五","age":30},"hobbies":["读书","游泳"]}。通过传入第三个参数可格式化输出,如JSON.stringify(obj, null, 2)生成带缩进的字符串,提升可读性。

JavaScript对象转换为JSON字符串,使用内置的 JSON.stringify() 方法即可。这个方法能将对象、数组、数字、字符串等值转换成标准的JSON格式字符串。

基本用法

将一个普通JS对象转为JSON字符串:

const obj = {
  name: "张三",
  age: 25,
  city: "北京"
};

const jsonString = JSON.stringify(obj);
console.log(jsonString); // {"name":"张三","age":25,"city":"北京"}

理复杂数据类型

注意:函数、undefined、Symbol 值在转换时会被自动忽略:

const obj = {
  name: "李四",
  fn: function() {}, // 不会被包含
  temp: undefined // 会被忽略
};

console.log(JSON.stringify(obj)); // {"name":"李四"}

如果对象中含有数组或嵌套对象,也能正常转换:

const obj = {
  user: { name: "王五", age: 30 },
  hobbies: ["读书", "游泳"]
};
console.log(JSON.stringify(obj));
// {"user":{"name":"王五","age":30},"hobbies":["读书","游泳"]}

格式化输出(可读性更好)

可以传入第三个参数来美化输出格式:

console.log(JSON.stringify(obj, null, 2));
// 输出带缩进,便于查看
基本上就这些。只要调用 JSON.stringify() 就能把JS对象变成JSON字符串,简单直接。