解决javascript和nodejs处理19位数字丢精度丢失问题

发布于:2020-04-08 10:29:40

解决javascript和nodejs处理json字符串key值为19位数字丢精度丢失问题

解决办法:

  1.提取19位数字转为字符串

  2. 再对处理过的json字符串转为json对象


处理示例:

<script type="text/javascript">
    var abc = '{"out_ono": "104934723","user_id": 1395124661628849146,"test":123}';
    console.log("这里打印正常1:",abc);
    obj = JSON.parse(abc); //转json字符串
    console.log("这里打印就不正常:",obj)

    const user_id = abc.match(/[0-9]{19}/)[0] //正则获取19位数字的值
    newAbc = abc.replace(user_id,`"${user_id}"`) // 补上双引号
    console.log(newAbc)
    obj2 = JSON.parse(newAbc);
    console.log("这里打印正常2:",obj2)
</script>