34、JavaScript 国际化 API 与 JSON 序列化详解

JavaScript 国际化 API 与 JSON 序列化详解

1. JSON 序列化中的替换函数

在 JSON 序列化时,替换函数(replacer function)会替换原始值。若替换函数返回 undefined 或无返回值,该值及其对应的数组元素或对象属性将在序列化中被忽略。

示例代码

// 指定要序列化的字段及其顺序
let text = JSON.stringify(address, ["city","state","country"]);
// 指定一个替换函数,忽略正则表达式值的属性
let json = JSON.stringify(o, (k, v) => v instanceof RegExp ? undefined : v);

这两个 JSON.stringify() 调用以良性方式使用第二个参数,生成的序列化输出无需特殊的恢复函数即可反序列化。但一般来说,若为类型定义了 toJSON() 方法,或使用替换函数将不可序列化的值替换为可序列化的值,通常需要在 JSON.parse() 中使用自定义恢复函数来恢复原始数据结构。不过要明白,这样做相当于定义了自定义数据格式,会牺牲与大量 JSON 兼容工具和语言的可移植性与兼容性。

2. JavaScript 国际化 API 概述

JavaScript 国际化 API 包含 Intl.NumberFormat

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值