解决JSON.stringify()自动将中文转译成unicode的问题

要解决JSON.stringify()自动将中文转译成Unicode的问题,可以通过使用第三方库 json-bigint 或者自行编写转换函数来实现。

下面分别给出两种方法的使用示例:

使用json-bigint

  1. 安装 json-bigint:

sh
npm install json-bigint

  1. 在代码中引入json-bigint

javascript
const JSONbig = require('json-bigint');

  1. 将 Unicode 转义字符剔除掉,并使用JSONbig.stringify()代替JSON.stringify(),即可将 JSON 对象转换成字符串格式,保留中文字符。

javascript
const data = {
name: '张三',
age: 18,
id: 12345678901234567890n
};
const jsonString = JSONbig.stringify(data).replace(/\\u/g, '%u');
console.log(jsonString);

运行结果:{"name":"张三","age":18,"id":12345678901234567890}

自行编写转换函数

  1. 定义一个转换函数,遍历所有值,并将其中的非ASCII字符转化为Unicode的字符串。

javascript
function replacer(key, value) {
if (typeof value === 'string') {
return value.replace(/[^\x00-\xff]/g, function(match) {
return '\\u' + match.charCodeAt().toString(16);
});
}
return value;
}

  1. 使用该函数作为JSON.stringify()的第2个参数,即可将非ASCII字符转换成Unicode字符串。

javascript
const data = {
name: '张三',
age: 18,
id: 12345678901234567890n
};
const jsonString = JSON.stringify(data, replacer);
console.log(jsonString);

运行结果:{"name":"\u5f20\u4e09","age":18,"id":12345678901234567890}

以上两种方式,都能实现将中文字符正常转化成 JSON 字符串并输出,读者可以根据自己的需要选择其中一种。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:解决JSON.stringify()自动将中文转译成unicode的问题 - Python技术站

(0)
上一篇 2023年5月19日
下一篇 2023年5月19日

相关文章

  • JavaScript常用正则验证函数实例小结【年龄,数字,Email,手机,URL,日期等】

    这个问题需要比较详细的回答,以下是完整攻略: 什么是正则表达式? 正则表达式,又称正规表示式、正规表示法、规则表达式、常规表示法(英语:Regular Expression,在代码中常简写为 regex、regexp 或 RE),是计算机科学的一个概念。正则表达式通常缩写为 regex,在某些情况下也被称为模式匹配,是一种用来描述、匹配一系列符合某个语法规则…

    JavaScript 2023年5月28日
    00
  • JavaScript中isPrototypeOf函数

    下面是完整的JavaScript中isPrototypeOf函数的攻略: 标题 isPrototypeOf函数概述 isPrototypeOf() 是 JavaScript 中 Object 类型内置的函数之一。它用于判断一个对象是否是另一个对象的原型。原型链是 JavaScript 对象的核心概念之一,因此 isPrototypeOf() 函数通常被用于判…

    JavaScript 2023年5月28日
    00
  • 理解 JavaScript EventEmitter

    理解 JavaScript EventEmitter EventEmitter 是 Node.js 的核心模块之一,不过它也可以在浏览器中使用。通过 EventEmitter,我们可以简单而有效地实现各种事件模型,如事件监听、事件触发等;在 Web 开发中,EventEmitter 常用于实现自定义事件机制。 什么是 EventEmitter? EventE…

    JavaScript 2023年5月28日
    00
  • 分享5个JavaScript的写法小技巧

    下面我将为您详细讲解“分享5个JavaScript的写法小技巧”的完整攻略。 1. 使用解构赋值获取对象中的属性值 解构赋值是一个方便快捷的方式来获取对象中的属性值,可以让你避免手动访问和提取对象属性的繁琐操作。 示例: const obj = { name: "Tom", age: 18, gender: "male&quot…

    JavaScript 2023年5月17日
    00
  • 高效率JavaScript编写技巧整理

    高效率JavaScript编写技巧整理 引言 JavaScript 往往是前端工程师最耗费时间的语言之一,因为它不仅需要考虑代码的逻辑,还需要兼顾用户体验,包括运行时间、渲染时间、页面交互等因素。在这里,我们将为大家整理一些高效率 JavaScript 编写技巧,帮您更好地提高编程效率。 1. 常量和变量的命名 程序的可读性取决于变量和函数的命名,因此需要修…

    JavaScript 2023年5月18日
    00
  • 3分钟精通高阶前端随手写TS插件

    接下来我将详细讲解如何通过3分钟精通高阶前端随手写TS插件的攻略。 1. 了解 TypeScript TypeScript是微软开源的高级类型应用程序设计语言。它是JavaScript的一种超集,支持静态类型检查、编译时类型检查、类型推断等功能。在使用TypeScript之前,需要了解TypeScript的基本概念、语法和用法。 2. 安装 TypeScri…

    JavaScript 2023年6月11日
    00
  • JS操作Cookie写入和读取实例代码

    下面是关于“JS操作Cookie写入和读取实例代码”的完整攻略。 什么是Cookie Cookie是网站可以存储在用户计算机中的小文件。这些文件包含有关用户访问网站的信息,例如登录凭据、购物车中的项目和其他首选项。 为何要使用Cookie 可以使用Cookie提供个性化用户体验、记录用户偏好并跟踪用户行为,部分网站为页面访问量和跟踪广告效果也使用Cookie…

    JavaScript 2023年6月11日
    00
  • JavaScript实现钟表案例

    下面是关于“JavaScript实现钟表案例”的完整攻略: 1. 确定页面布局和样式 在创建JavaScript实现钟表的时候,我们首先需要确定页面的布局和样式。这不仅可以让我们更好地控制页面的显示效果,同时也方便我们根据需要编写所需的JS代码。 我们可以在HTML中创建一个div元素,并设置其样式为居中对齐,宽度为500px,高度为500px,边框为1px…

    JavaScript 2023年5月27日
    00
合作推广
合作推广
分享本页
返回顶部