JS对象和字符串的相互转换

简介: JS对象和字符串的相互转换

在 JavaScript 中,可以使用 JSON.stringify() 方法将对象转换为字符串,以及使用 JSON.parse() 方法将字符串转换为对象。

1. 对象转字符串:

使用 JSON.stringify() 方法将 JavaScript 对象转换为字符串。例如:

const obj = { name: 'Tom', age: 18 };
const jsonString = JSON.stringify(obj);
console.log(jsonString); // 输出 '{"name":"Tom","age":18}'

2.字符串转对象

使用 JSON.parse() 方法将 JSON 字符串转换为 JavaScript 对象。例如:

const jsonString = '{"name":"Tom","age":18}';
const obj = JSON.parse(jsonString);
console.log(obj.name); // 输出 'Tom'
console.log(obj.age); // 输出 18

3.注意点

JSON.stringify() 和 JSON.parse() 方法只能处理符合 JSON 格式的数据。也就是说,对象中的属性名必须使用双引号括起来,而不能使用单引号或者没有引号。另外,对象中不能包含函数、正则表达式等特殊类型的属性。

如果对象中包含了函数或者其他无法直接序列化为 JSON 的属性,可以通过自定义的方式进行转换。例如,可以在对象上定义一个 toJSON() 方法,该方法在调用 JSON.stringify() 时会被自动调用,并返回一个可被序列化为 JSON 的简化版本的对象。例如:

const obj = {
  name: 'Tom',
  age: 18,
  toJSON() {
    return {
      name: this.name,
      age: this.age
    };
  }
};

const jsonString = JSON.stringify(obj);
console.log(jsonString); // 输出 '{"name":"Tom","age":18}'
目录
相关文章
|
16天前
|
存储 JavaScript 前端开发
JS上传文件(base64字符串和二进制文件流)
这篇文章介绍了两种JavaScript文件上传的方法:使用FileReader对象将文件读取为base64字符串上传,以及使用FormData对象以二进制文件流的形式上传文件,包括如何处理文件选择、读取和上传的详细代码示例。
JS上传文件(base64字符串和二进制文件流)
|
2天前
|
JavaScript
js 解析 byte数组 成字符串
js 解析 byte数组 成字符串
|
30天前
|
JSON JavaScript 前端开发
JavaScript实现字符串转json对象的方法
JavaScript实现字符串转json对象的方法
|
1天前
|
JavaScript 数据处理 索引
js字符串截取
js字符串截取
11 5
|
4天前
|
Web App开发 JavaScript 前端开发
JavaScript 模板字符串
JavaScript 模板字符串
11 3
|
5天前
|
存储 JavaScript 前端开发
JavaScript 字符串
JavaScript 字符串
11 2
|
22天前
|
JavaScript 前端开发
JS常用数据类型转换(数字型和字符串型之间转换)
JS常用数据类型转换(数字型和字符串型之间转换)
34 2
|
5天前
|
Web App开发 JavaScript 前端开发
JavaScript 模板字符串
JavaScript 模板字符串
9 0
|
22天前
|
JavaScript 前端开发 Java
js字符串拼接的几种方式
js字符串拼接的几种方式
14 0
|
23天前
|
存储 JavaScript 前端开发
js 数据类型 字符串、数字和布尔值
js 数据类型 字符串、数字和布尔值