Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
来自服务器的Javascript长整数不准确_Javascript_Json_Reactjs_React Native_Ecmascript 6 - Fatal编程技术网

来自服务器的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 )…-不工作!-当我取数据和保存响应时,这不是发生在我通过道具时!不工作!-当我取数据时保存这一点,当我通过道具时不要保存响应!