来自服务器的Javascript长整数不准确
我有一个请求,请求获取数据。当我试图保存来自服务器的Javascript长整数不准确,javascript,json,reactjs,react-native,ecmascript-6,Javascript,Json,Reactjs,React Native,Ecmascript 6,我有一个请求,请求获取数据。当我试图保存Id时,我看到Javascript在它的最后一位,它使我的程序崩溃 我明白了,但是如何将每个Id保存为字符串 我使用一个全局数组来存储所选项目的数据,因此,无论如何,是否要在字符串中保存JSON的一个属性 我将拥有(例如)3个项目,并为每个Id发出另一个get请求: axios.get(`http://api.nemov.org/api/v1/Market/Symbol/${this.props.ID}`) 其中一个Ids是:94817030616349
Id
时,我看到Javascript在它的最后一位,它使我的程序崩溃
我明白了,但是如何将每个Id
保存为字符串
我使用一个全局数组来存储所选项目的数据,因此,无论如何,是否要在字符串中保存JSON
的一个属性
我将拥有(例如)3个项目,并为每个Id
发出另一个get
请求:
axios.get(`http://api.nemov.org/api/v1/Market/Symbol/${this.props.ID}`)
其中一个Id
s是:9481703061634967
但是JS将其转换为9481703061634968
,因此get
请求被中断
有解决方案吗?使用以下方法:
let strId = this.props.ID.toString();
axios.get(`http://api.nemov.org/api/v1/Market/Symbol/${strId}`)
使用以下命令:
let strId = this.props.ID.toString();
axios.get(`http://api.nemov.org/api/v1/Market/Symbol/${strId}`)
见我对问题的解决方案:
将响应转换为字符串,然后将带有正则表达式的repalce应用于
将Id字段转换为字符串类型:
const axios = require("axios");
axios.get(url, {transformResponse: [data => data]}).then((response) => {
let parsed = JSON.parse(response.data.replace(/"Id":(\d+),/g, '"Id":"$1",'))
console.log(parsed)
});
见我对问题的解决方案:
将响应转换为字符串,然后将带有正则表达式的repalce应用于
将Id字段转换为字符串类型:
const axios = require("axios");
axios.get(url, {transformResponse: [data => data]}).then((response) => {
let parsed = JSON.parse(response.data.replace(/"Id":(\d+),/g, '"Id":"$1",'))
console.log(parsed)
});
9481703061634967>Number.MAX\u SAFE\u INTEGER
get请求没有中断-该数字太大-为什么您提到JSON?API返回XML而不是JSON如何将每个Id保存为字符串
-解析XML时,不要将Id从其当前类型(字符串,因为XML中的所有内容都是字符串)更改为整数-这样,您的代码就不会破坏它从API中获取的数据您显示的代码为零。因此,我无法告诉您解析XML的代码的哪个部分破坏了ID-在代码中查找parseInt、parseFloat甚至一元+如果您是指API链接,如果您使用浏览器,它将返回XML,但是如果您使用Axios
或类似的东西,您将得到JSONY您可以告诉Axios获取XML,而不是JSON(responseType
)…9481703061634967>Number.MAX_SAFE_INTEGER
get请求没有中断-该数字太大-为什么提到JSON?API返回XML而不是JSON如何将每个Id保存为字符串
-解析XML时,不要更改当前类型的Id(字符串,因为XML中的所有内容都是字符串)到整数-那么你的代码不会破坏它从API获取的数据你显示了零代码…所以,我不能告诉你解析XML的代码的哪一部分破坏了ID-在你的代码中查找parseInt、parseFloat甚至一元+如果你是指API链接,如果你使用浏览器,它将返回XML,但是如果你使用Axios
或者诸如此类的东西,你会得到JSONYou可以告诉AXIOS来获取XML,而不是JSON(<代码> RealStayype )…-不工作!-当我取数据和保存响应时,这不是发生在我通过道具时!不工作!-当我取数据时保存这一点,当我通过道具时不要保存响应!