当前位置: 首页 > wzjs >正文

做企业网站对企业的好处什么是软文文案

做企业网站对企业的好处,什么是软文文案,提供网站建设报价,做商业网站去哪里弄好JSON.stringify()可以将一个 JS 对象或值转成 JSON 字符串。如果指定了 relpacer 函数可以选择性替换值;若 replacer 是个数组,可以选择性地仅转换包含数组指定的属性。 另外 JSON.stringify() 可以和 JSON.parse()配合来实现深拷贝,但不能拷…

JSON.stringify()可以将一个 JS 对象或值转成 JSON 字符串。如果指定了 relpacer 函数可以选择性替换值;若 replacer 是个数组,可以选择性地仅转换包含数组指定的属性。

另外 JSON.stringify() 可以和 JSON.parse()配合来实现深拷贝,但不能拷贝值为 undefined 和循环引用的属性。

JSON.stringify() 可以将 JavaScript 值转换为符合 JSON 格式的字符串,但并非所有类型都能被直接转换。以下是支持的类型及其转换规则:


一、支持转换的类型

类型转换结果示例
基本类型
string字符串(双引号包裹)"hello""hello"
number数值(包括整数、浮点数)42423.143.14
booleantruefalsetruetrue
nullnullnullnull
对象类型
Object键值对(属性名用双引号包裹,值递归转换){a: 1}{"a":1}
Array数组(元素递归转换)[1, "2"][1,"2"]
Date调用 toISOString()转换为 ISO 日期字符串new Date()"2023-10-01T00:00:00.000Z"
特殊处理
实现 toJSON() 的对象优先调用 toJSON(),返回结果再递归处理自定义对象中定义 toJSON()
方法

二、无法转换或部分转换的类型

类型转换结果/行为示例
undefined作为属性值时被忽略,单独转换返回 undefined{a: undefined}{}
Function忽略(属性值)或返回 undefined(单独转换)function(){}undefined
Symbol忽略(属性值)或返回 undefined(单独转换)Symbol('foo')undefined
NaN/Infinity转换为 nullNaNnullInfinitynull
特殊对象
Map/Set/WeakMap转换为空对象 {}(因没有可枚举的自有属性)new Map([[1, 2]]){}
RegExp转换为空对象 {}/abc/g{}
Promise转换为空对象 {}Promise.resolve(){}
循环引用抛出 TypeError: Converting circular structure to JSON错误const obj = {}; obj.self= obj;→ 报错

三、转换规则示例

1. 基本类型
JSON.stringify("hello");       // '"hello"'
JSON.stringify(42);            // '42'
JSON.stringify(true);          // 'true'
JSON.stringify(null);          // 'null'
2. 对象与数组
JSON.stringify({ a: 1, b: "2" });  // '{"a":1,"b":"2"}'
JSON.stringify([1, "2", null]);    // '[1,"2",null]'
3. 特殊类型处理
// Date 对象
JSON.stringify(new Date());    // '"2023-10-01T00:00:00.000Z"'// undefined 和函数
JSON.stringify({ a: undefined, b: function(){}, s: Symbol('s'),[Symbol('d')]: 's',f: ()=>1 });  // '{}'// NaN/Infinity
JSON.stringify([NaN, Infinity]);  // '[null,null]'// Symbol
JSON.stringify(Symbol('key'));    // undefined
4. **自定义 ****toJSON()**
const obj = {name: "John",toJSON() {return { name: this.name.toUpperCase() };}
};
JSON.stringify(obj);  // '{"name":"JOHN"}'

四、控制转换行为

1. **replacer**** **参数(函数或数组)

过滤或修改序列化结果:

// 过滤属性
JSON.stringify({a: 1, b: 2}, ['a']);  // '{"a":1}'
// 自定义转换
JSON.stringify({a: 1, b: 2}, (key, value) => {return key === 'a' ? undefined : value;
});  // '{"b":2}'
2. **space**** **参数(美化输出)

添加缩进或前缀:

JSON.stringify({a: 1}, null, 2);
/*
{"a": 1
}
*/

五、总结

  • 可安全转换:基本类型、普通对象、数组、日期(通过 toISOString)、实现 toJSON() 的对象。
  • 被忽略或转换异常undefined、函数、Symbol、特殊对象(如 Map)、循环引用。
  • 使用建议:处理复杂对象时,可结合 replacer 函数或自定义 toJSON() 方法控制输出。

http://www.dtcms.com/wzjs/148858.html

相关文章:

  • 预备网络推广方案石家庄seo扣费
  • 江油建设局网站南宁百度seo推广
  • 最挣钱没人干的行业老鬼seo
  • 贸易公司寮步网站建设价钱百度推广河南总部
  • 网站排名优化效果网络营销公司哪家可靠
  • 手机版网站如何做图片滚动条seo刷网站
  • 东莞做网站公司首选!优化设计电子课本下载
  • 河北商城网站搭建多少钱常州免费网站建站模板
  • 旅游政务网站建设方案常用的网站推广方法
  • 石家庄网站建设seo优化营销上海短视频seo优化网站
  • 昆山市住房城乡建设局网站必应搜索引擎地址
  • wordpress建外贸网站项目推广方式有哪些
  • 温州市微网站制作多少钱网站软文推广范文
  • 嘉兴网站制作百度seo词条优化
  • 做租车行网站优化的意思
  • 建筑工程网站哪个好买链接网站
  • java script 做网站网站关键词排名优化推广软件
  • 英文网站 正文字体大小网络营销的种类有哪些
  • 专业建设家电维修网站公司市场营销的八个理论
  • 网络广告营销的好处seo按照搜索引擎的
  • 免费购物平台都有哪些广州seo团队
  • wordpress mediaseo网站诊断方案
  • 品牌网站建设坚持大蝌蚪广告推广平台网站
  • 建设门户网站申请网页制作工具有哪些
  • 程序员免费自学网站百度做免费推广的步骤
  • 商业空间设计案例ppt模板seo外包推广
  • 珠海免费网站建设上海平台推广的公司
  • 多用户智能网站建设源码湖南seo快速排名
  • wordpress主题高仿雷锋网广州seo优化外包服务
  • 无锡装修公司做网站新站seo快速排名 排名