json-bigint

GitHub网址:https://github.com/sidorares/json-bigint

当我们在写项目的时候调用后台接口的地址需要接收一个id值例如:(id:9223372036854776000)
JavaScript 能够准确表示的整数范围在-2^532^53之间(不含两个端点),超过这个范围,无法精确表示这个值,这使得 JavaScript 不适合进行科学和金融方面的精确计算
浏览器会默认解析得到数值与原数值不匹配导致404问题

解决这个问题我们使用第三方插件JSON-BigInt

1. 安装

npm i json-bigint

2. 导入

var JSONbig = require('json-bigint')

3. 使用

JSONbig.parse()

将json格式字符串转化为对象与JSON.parse()类似

var json = '{ "value" : 9223372036854775807}'
// 将json字符串转为对象
console.log(JSON.parse(json))// 9223372036854776000
console.log(JSONbig.parse(json).value.toString())// 是一个对象 需要toSring() 9223372036854776000
JSONbig.stringify()

将对象转化为json格式字符串与JSON.stringify()类似

// 将对象还原为json格式的字符串
console.log(JSON.stringify(JSONbig.parse(json))) // {"value":"9223372036854775807"}改变了原数据的值的数据类型
console.log(JSONbig.stringify(JSONbig.parse(json)))// {"value":9223372036854775807} 没有改变原数据

通过 Axios 请求得到的数据都是 Axios 处理(JSON.parse)之后的,我们应该在 Axios 执行处理之前手动使用 json-bigint 来解析处理。Axios 提供了自定义处理原始后端返回数据的 API:transformResponse

import axios from 'axios'
var jsonBig  = require('json-bigint')const request = axios.create({baseURL: 'http://ttapi.research.itcast.cn/', // 接口基础路径// transformResponse 允许自定义原始的响应数据(字符串)transformResponse: [function (data) {try {// 如果转换成功则返回转换的数据结果return jsonBig.parse(data)} catch (err) {// 如果转换失败,则包装为统一数据格式并返回return {data}}}]
})export default request

利用json-bigint处理后台数据大数字问题相关推荐

  1. ECharts 折线图柱状图混合双Y轴 利用ajax动态获取后台数据

    效果图示如下 后台代码用的框架是SSM 双Y轴根据后台数据展示 大致代码如下: List<Map> findqushi(@Param("date_id") String ...

  2. SpringBoot前端Ajax以JSON格式获取后台数据

    最近在用Thymeleaf做一个项目,耳边总是飘过前后端分离的话语,不得不去了解一下,在Thymeleaf里如何获取后端的json串,这里进行详细的讲解一下(困扰了我好久/哭了) 首先我们需要一个Co ...

  3. 前端Ajax以JSON格式获取后台数据

    最近在用Thymeleaf做一个项目,耳边总是飘过前后端分离的话语,不得不去了解一下,在Thymeleaf里如何获取后端的json串,这里进行详细的讲解一下(困扰了我好久/哭了) 首先我们需要一个Co ...

  4. java ajax实现分页代码,jQuery实现分页功能(含ajax请求、后台数据、附完整demo)...

    需求分析 1)需要首页,末页功能 2)有点击查看上一页,下一页功能 3)页码到当前可视页码最后一页刷新页面 实现思路 也是分为三部分处理 1)点击首页,末页直接显示第一页或者最后一页内容,当前页面为第 ...

  5. jQuery实现的分页功能,包括ajax请求,后台数据

    一:需求分析 1)需要首页,末页功能 2)有点击查看上一页,下一页功能 3)页码到当前可视页码最后一页刷新页面 二:功能实现思路 也是分为三部分处理 1)点击首页,末页直接显示第一页或者最后一页内容, ...

  6. Django 前台通过json 取出后台数据

    转载自:https://my.oschina.net/esdn/blog/814111 步骤1:后台数据通过 JSON 序列化成字符串 注意:1.json是1个字符串 2.通过json.dumps(' ...

  7. python爬百度翻译-Python爬取百度翻译(利用json提取数据)

    本篇文章给大家带来的内容是关于Python爬取百度翻译(利用json提取数据),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 工具:Python 3.6.5.PyCharm开发工具. ...

  8. django 返回ajax html,Django 前台通过json 取出后台数据

    前台通过json 取出后台数据 步骤1:后台数据通过 JSON 序列化成字符串 注意:1.json是1个字符串 2.通过json.dumps('xxx') 序列化成 1个字符串的 '字典对象' vie ...

  9. angularjs获取php数据类型,利用Angularjs从PHP读取后台数据

    之前已经有很多方法可以通过angular进行本地数据的读取.以前的例子中,大多数情况都是将数据存放到模块的$scope变量中,或者直接利用ng-init定义初始化的数据.但是这些方法都只为了演示其他功 ...

最新文章

  1. oracle中lang能不能查找,oracle中的查询语句
  2. [转载] 唐浩民评点曾国藩家书(上)——一个不同凡庸的乡村农民
  3. winScp中文乱码设置
  4. c# getresponsestream返回byte[]_C#通过SharpZipLib库创建压缩文件
  5. ASP.Net Mvc 发布网站 (样式+图片问题)
  6. c++值传递和引用及指针传递区别
  7. 使用u盘安装linux操作系统原理
  8. 安装Linux无盘工作站
  9. Java Web应用程序开发-深入体验Java Web开发内幕之初步
  10. 打印和为sum的组合,动规法+DFS+迭代法
  11. ARM学习系列 ---- ARM公司简介
  12. Pixel2Mesh从单个RGB图像生成三维网格ECCV2018
  13. 如何从官网下载JDK安装包?
  14. 计算机桌面图标乱码,教您软件乱码怎么修复
  15. Qt QTextStream
  16. 开源的XAG迈向新征程
  17. AUTOSAR基础篇之DTC
  18. 基于KT6368A的双模蓝牙模块打印机的方案
  19. 队列的应用——短信模拟
  20. asp:ScriptManager

热门文章

  1. 安全开工,钓鱼软件再袭如何防范?
  2. Allegro如何设通孔Pin和Via的消盘操作指导
  3. Guava Predicate
  4. 两部门:推进电力中长期合同电子化,君子签赋能电力合同电子签
  5. 基于html的美食网站——速鲜站餐饮食品(HTML+CSS+JavaScript)大学生网页制作教程 表格布局网页模板 学生HTML静态美食网页设计作业成品 简单网页制作代码 学生美食网页作品...
  6. spring MVC组件开发-表单数据校验
  7. 【奇思妙想】20个从设计到功能都创意十足的小众网站
  8. java 08d_Java String.Format() 方法及参数说明
  9. 体系结构学习笔记---白话理解Tomasulo算法
  10. 快压找不到指定文件路径