解决json失真问题
·
最近发现一个巨好用的插件lossless-json
情景:
1. 如果你有一个对象的字符串类型,需要转换为对象
2. 如果正常转为对象是没有问题的,如果对象中数字类型,并且这个数字类型还很长,那就惨了,这样会失真
3. 大家都知道的方法是JSON.parse(),这样是不行的,老姐妹们,这个通用的会造成失真问题
4. 非常幸运,我找到一个插件,我们项目这种转换特别多,一大福星
具体用法:
下载: npm install lossless-json -S
引入:const LosslessJSON = require('lossless-json')
使用:
let json = LosslessJSON.parse('{"foo":"bar"}'); // {foo: 'bar'}
let text = LosslessJSON.stringify(json); // '{"foo":"bar"}'
'use strict';
const LosslessJSON = require('lossless-json');
let text = '{"normal":2.3,"long":123456789012345678901,"big":2.3e+500}';
let json = LosslessJSON.parse(text);
console.log(json.normal.isLosslessNumber); // true
console.log(json.normal.valueOf()); // number, 2.3
console.log(json.normal + 2); // number, 4.3
// the following operations will throw an error
// as they would result in information loss
console.log(json.long + 1); // throws Error Cannot convert to number: number would be truncated
console.log(json.big + 1); // throws Error Cannot convert to number: number would overflow
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)