详述json.stringify格式化的多个方面

一、操作简介

JSON.stringify() 方法用于将 JavaScript 值转换为 JSON 字符串。通过序列化的方式,可以将 JSON 对象转换为字符串,传输到其他的计算机或存储到本地介质上。通过反序列,也可以将字符串转化为 JSON 对象。

该方法有三个参数。第一个是序列化的JavaScript 对象;第二个是过滤器函数,可以过滤部分属性;第三个则是缩进以及间隔控制。

// 简单示例
let obj = {
    name: 'Jack',
    age: 30,
    address:{
        city: 'New York',
        state: 'NY',
        zip: 10001
    }
};

let jsonStr = JSON.stringify(obj);

console.log(jsonStr);// {"name":"Jack","age":30,"address":{"city":"New York","state":"NY","zip":10001}}

二、缩进

通过第三个参数,可以指定缩进以及间隔的字符数,使 JSON 格式化输出。如果是数字,则指定每个级别的缩进字符的数目。如果是字符串,用作缩进字符;比如“\t”。

// 简单示例
let obj = {
    name: 'Jack',
    age: 30,
    address:{
        city: 'New York',
        state: 'NY',
        zip: 10001
    }
};

let jsonStr = JSON.stringify(obj, null, '\t');

console.log(jsonStr);
// {
//     "name": "Jack",
//     "age": 30,
//     "address": {
//         "city": "New York",
//         "state": "NY",
//         "zip": 10001
//     }
// }

三、数据类型

JSON.stringify() 方法能够序列化除 symbol 类型之外的大部分 JavaScript 基础数据类型,包括字符串、数字、布尔值和 null,也能序列化对象、数组和 Map 类型等复杂数据类型。

// 简单示例
let obj = {
    name: 'Jack',
    age: 30,
    address:{
        city: 'New York',
        state: 'NY',
        zip: 10001
    }
};

let arr = [1, 2, 3, "apple", true, null, obj];

let jsonStr = JSON.stringify(arr);

console.log(jsonStr);  // [1, 2, 3, "apple", true, null, {"name":"Jack","age":30,"address":{"city":"New York","state":"NY","zip":10001}}]

四、Date 对象

JSON.stringify() 在序列化 Date 对象时,效果与 toISOString() 方法类似。

// 简单示例
let obj = {
    today: new Date()
};

let jsonStr = JSON.stringify(obj);

console.log(jsonStr); // {"today":"2022-02-22T08:00:57.150Z"}

五、函数、Symbol 和 undefined

JSON.stringify() 在序列化函数、symbol 和 undefined 时会自动将其忽略。

// 简单示例
let obj = {
    name: 'Jack',
    func: function() {
        console.log('Hello World');
    },
    age: undefined,
    sex: Symbol('Male')
};

let jsonStr = JSON.stringify(obj);

console.log(jsonStr);  // {"name":"Jack"}

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/183396.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝的头像小蓝
上一篇 2024-11-24 16:29
下一篇 2024-11-24 16:29

相关推荐

发表回复

登录后才能评论