问答

正则怎么将json格式中的long类型转换字符串?

作者:admin 2021-05-13 我要评论

一个后台转过来的集合,因为id是long类型,json.parse会丢失精确度,如何用正则把所有关于id的值,都改成字符串类型 ### const result = '[{"id":1234567890},{"...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)

一个后台转过来的集合,因为id是long类型,json.parse会丢失精确度,如何用正则把所有关于id的值,都改成字符串类型

###
const result = '[{"id":1234567890},{"id":1234567891}]'.replace(/(?<="id"\s*:\s*)(\d+)/g, '"$1"');

// "[{"id":"1234567890"},{"id":"1234567891"}]"
console.log(result);
###

最简单的方式让后台序列化成 String。

否则只能 JS 手写 JSON Parser,这有个别人写好的库:zaach/jison: Bison in JavaScript. (github.com)

但如果你用的是原生的 fetch 或是 jQueryaxios 提供的响应反序列化器,还是不行,因它们都是依赖 JSON.parse 的,所以你 AJAX 库也得自己手动改造一下。

此外,这还仅仅只解决了第一步反序列化精度丢失的问题,如果你还要在前端做加减乘除一类的运算,那么还得祭出 BigInt

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • 正则怎么将json格式中的long类型转换字

    正则怎么将json格式中的long类型转换字

  • v-for 组件加载缓慢

    v-for 组件加载缓慢

  • js如何判断两个时间最接近

    js如何判断两个时间最接近

  • jmeter HTTP请求报405

    jmeter HTTP请求报405

腾讯云代理商
海外云服务器