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

yizhihongxing

要解决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日

相关文章

  • node puppeteer(headless chrome)实现网站登录

    下面我将介绍如何使用Node.js中的Puppeteer库实现网站登录的完整攻略。在此过程中,我将提供两个示例以帮助您更好地理解。 简介 Puppeteer是由Google开发的一个Node.js库,它提供了一组API来使用Headless Chrome浏览器进行自动化测试、爬虫或屏幕截图等操作。Headless Chrome是Chrome浏览器的无界面版本…

    JavaScript 2023年6月11日
    00
  • 分享一道笔试题[有n个直线最多可以把一个平面分成多少个部分]

    题目描述 给定 $n$ 条不平行的直线,它们组成的平面最多可以分成多少个部分? 前置知识 在掌握本题解之前,请确保对组合数学有一定的基础。对于初学者,推荐学习集合排列组合等基础知识。 解题思路 首先,可以从一个空间开始,再逐渐添加直线,最终求出能够分割出的区域总数。 假设空间中没有直线,那么初始情况下只有1个区域。每添加一条直线,都会增加一部分区域。添加第 …

    JavaScript 2023年5月28日
    00
  • JS新手入门数组处理的实用方法汇总

    JS新手入门数组处理的实用方法汇总 在JavaScript中,数组处理是一项非常关键的技能。本文将为初学者介绍一些数组处理的实用方法,让你快速掌握并应用在实际项目中。 forEach()方法 forEach()方法可以遍历数组中的每一个元素,并对其进行操作。 var arr = [1, 2, 3, 4, 5]; arr.forEach(function(el…

    JavaScript 2023年5月27日
    00
  • 仿ElementUI实现一个Form表单的实现代码

    下面我将为你详细讲解“仿ElementUI实现一个Form表单的实现代码”的完整攻略。 前言 ElementUI是很多前端项目所采用的UI框架,其中使用最频繁的就是Form表单。通过学习ElementUI的Form表单,可以更好地了解前端UI框架的实现方式。因此,我们可以尝试自己实现一个仿ElementUI的Form表单。 实现步骤 1. 创建表单组件 首先…

    JavaScript 2023年6月10日
    00
  • javascript self对象使用详解

    JavaScript Self对象使用详解 什么是Self对象? Self对象指的是JavaScript中的this关键字,它代表当前对象。可以在对象的方法中使用this关键字来引用当前对象,或者用在一个方法中引用其他方法。 如何使用Self对象? 在对象方法中使用Self对象 在JavaScript的对象方法中使用this关键字可以引用到当前的对象。如下例…

    JavaScript 2023年5月27日
    00
  • 用JavaScript实现轮播图效果

    确定轮播图结构及样式设计 首先需要确定轮播图的HTML结构和CSS样式设计,一般常用的结构是采用<ul>和<li>标签来实现,CSS样式可以通过定位、过渡等方式来实现。例如,以下代码是一个简单的轮播图结构和CSS样式示例: <div class="carousel"> <ul class=&quo…

    JavaScript 2023年6月11日
    00
  • js实现公告自动滚动

    当我们在网站中需要展示一些公告信息时,如果公告内容比较多,可以通过实现公告自动滚动来达到更好的展示效果。下面是 JS 实现公告自动滚动的完整攻略。 步骤 1. 准备 HTML 结构 首先需要在 HTML 中定义公告的容器和公告内容的列表,如下所示: <div class="notice"> <ul> <li&…

    JavaScript 2023年6月11日
    00
  • 由 element.appendChild(newNode) ,谈开去

    当我们使用 JavaScript 编程时,经常需要修改 HTML 元素的结构,其中一个常用的方法就是将一个新的节点添加到现有节点的子节点列表中。这个操作可以通过 appendChild() 方法来完成。 1. element.appendChild(newNode) 的使用方法 1.1 参数 newNode:要添加的新节点。可以是一个元素节点、文本节点、注释…

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