js 转json字符串

什么是JSON
JSON(JavaScript Object Notation),是一种轻量级的数据交换格式。它基于JavaScript的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。由于其简洁性和易读性,现已成为互联网数据交换的标准格式之一。
在实际应用中,我们经常需要将JavaScript对象转换为JSON字符串,以便于传输、存储和解析。
JavaScript中的JSON对象
JavaScript提供了一个全局的JSON对象,用于处理JSON数据。
JSON.stringify()
JSON对象的stringify()方法用于将JavaScript对象转换为JSON字符串。
// 定义一个JavaScript对象
let person = {
name: 'Alice',
age: 25,
hobbies: ['reading', 'swimming', 'traveling']
};
// 将JavaScript对象转换为JSON字符串
let jsonStr = JSON.stringify(person);
console.log(jsonStr); // 输出:{"name":"Alice","age":25,"hobbies":["reading","swimming","traveling"]}
上面的代码中,我们定义了一个名为person的JavaScript对象,并使用JSON.stringify()方法将其转换为JSON字符串。转换后的JSON字符串中,键值对之间使用双引号包裹,数组和对象也按照相同格式进行处理。
JSON.stringify()的参数
JSON.stringify()方法还提供了第二个参数,用于控制转换过程。
replacer参数:可传入一个函数,用来过滤和转换结果。只有在传入函数的时候才有依赖space参数:用来指定输出格式的缩进字符
let person = {
name: 'Alice',
age: 25,
hobbies: ['reading', 'swimming', 'traveling']
};
// 过滤转换,只保留姓名和年龄信息
let jsonStr1 = JSON.stringify(person, ['name', 'age']);
console.log(jsonStr1); // 输出:{"name":"Alice","age":25}
// 使用缩进格式输出
let jsonStr2 = JSON.stringify(person, null, 2);
console.log(jsonStr2);
// 输出:
// {
// "name": "Alice",
// "age": 25,
// "hobbies": [
// "reading",
// "swimming",
// "traveling"
// ]
// }
JSON.parse()
与JSON.stringify()方法相对应的是JSON.parse()方法,用于将JSON字符串解析为JavaScript对象。
let jsonStr = '{"name":"Alice","age":25,"hobbies":["reading","swimming","traveling"]}';
// 将JSON字符串解析为JavaScript对象
let person = JSON.parse(jsonStr);
console.log(person);
// 输出:{ name: 'Alice', age: 25, hobbies: [ 'reading', 'swimming', 'traveling' ] }
总结
通过JSON对象的stringify()方法和parse()方法,我们可以方便地在JavaScript中进行JSON字符串和JavaScript对象之间的转换。
极客笔记