JSON.stringify()将一个JavaScript对象或值转换为一个JSON字符串
可以接受两个可选参数:一个替换函数和一个空格数(用于格式化输出)。
JSON.stringify(value[, replacer[, space]])
参数:
value:要转换为 JSON 字符串的 JavaScript 值(对象或数组)。
replacer(可选):一个函数,用于过滤和转换结果中的值。也可以是一个数组,用于仅包含指定的属性。
space(可选):一个数字或字符串,用于控制缩进和格式化输出。
示例:
let person = {
name: "John",
age: 30,
city: "New York"
};
let jsonString = JSON.stringify(person);
console.log(jsonString); // 输出:"{"name":"John","age":30,"city":"New York"}"
let jsonStringWithSpaces = JSON.stringify(person, (key, value) => {
if (key === 'name') {
return;
}
return value;
}, 2);
console.log(jsonStringWithSpaces);
/*:
{
"age": 30,
"city": "New York"
}
*/
JSON.parse()用于将 JSON 字符串解析为 JavaScript 对象
语法:
JSON.parse(text[, reviver])
参数:
text:要解析的 JSON 字符串。
reviver(可选):一个函数,用于在解析过程中对每个键值对进行处理。如果提供了该函数,它将被调用以转换解析后的值。
示例:
let jsonString = '{"name":"John","age":30,"city":"New York"}';
let person = JSON.parse(jsonString);
console.log(person); // 输出:{ name: 'John', age: 30, city: 'New York' }
let jsonStringWithFunction = '{"date":"2022-01-01T00:00:00Z"}';
let datePerson = JSON.parse(jsonStringWithFunction, function(key, value) {
if (key === "date") return new Date(value);
return value;
});
console.log(datePerson); // 输出:{ date: 2022-01-01T00:00:00.000Z }