Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/237.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中将JSON数组值转换为整数(来自php/mysql)_Javascript_Php_Mysql_Json - Fatal编程技术网

如何在javascript中将JSON数组值转换为整数(来自php/mysql)

如何在javascript中将JSON数组值转换为整数(来自php/mysql),javascript,php,mysql,json,Javascript,Php,Mysql,Json,我有一个php页面,它获取mysql数据库中的一些数据并返回一个json文件,然后我用ajax调用调用这个json文件: $.ajax({ type: "POST", dataType: "json", url: "get_players_stats.php", //Relative or absolute path to players_stats file success: function(data) {

我有一个php页面,它获取mysql数据库中的一些数据并返回一个json文件,然后我用ajax调用调用这个json文件:

$.ajax({
        type: "POST",
        dataType: "json",
        url: "get_players_stats.php", //Relative or absolute path to players_stats file
        success: function(data) {
            var list = [];
            $.each(data, function() {
                list.push([this.time, this.playersonline]);
            })
            console.log(list);

        }
    });
console.log(列表)向我显示以下内容:

[["-1009843200000", "1"], ["-252460800000", "2"], ["-94694400000", "3"], ["31536000000", "2"],....
但我希望它看起来像这样:

[[-1009843200000, 1], [-252460800000, 2], [-94694400000, 3], [31536000000, 2],....

我该怎么做呢?

你能做这么简单的事情吗

$.each(data, function() {
    list.push([Number(this.time), Number(this.playersonline)]);
}

你能做点像这样简单的事吗

$.each(data, function() {
    list.push([Number(this.time), Number(this.playersonline)]);
}
这是一个类型转换问题:您的数据显示为文本格式,而您希望它显示为数字格式

您可以在javascript中将文本解析为float,但这可能会非常低效,因为您可以将数据转换为返回JSON的SQL查询中所需的类型

为了获得更多关于如何将数据拉入JSON的详细信息,最好先看看如何将数据拉入JSON

编辑:

您应该使用的实际答案如下:

这是一个类型转换问题:您的数据显示为文本格式,而您希望它显示为数字格式

您可以在javascript中将文本解析为float,但这可能会非常低效,因为您可以将数据转换为返回JSON的SQL查询中所需的类型

为了获得更多关于如何将数据拉入JSON的详细信息,最好先看看如何将数据拉入JSON

编辑:

您应该使用的实际答案如下:
您真的需要将这些值转换为数字值吗?JavaScript只支持53位整数,因此
parseInt('1076543210012456789')
将转换为
10765432100123458000
integer

如果仍要转换响应,可以执行以下操作:

$.each(data, function() {
  list.push([+this.time, +this.playersonline]);
})

您真的需要将这些值转换为数字值吗?JavaScript只支持53位整数,因此
parseInt('1076543210012456789')
将转换为
10765432100123458000
integer

如果仍要转换响应,可以执行以下操作:

$.each(data, function() {
  list.push([+this.time, +this.playersonline]);
})
ES6语法

让arr=[“-1009843200000”,“1”],[“-252460800000”,“2”],[“-94694400000”,“3”],[“31536000000”,“2”];
让newArr=arr.map((item)=>item.map((it)=>Number(it));
console.log(newArr)
ES6语法

让arr=[“-1009843200000”,“1”],[“-252460800000”,“2”],[“-94694400000”,“3”],[“31536000000”,“2”];
让newArr=arr.map((item)=>item.map((it)=>Number(it));

console.log(newArr)
为什么希望它看起来像这样?Javascript在变量类型上是宽容的,所以除非您需要它是一个整数(或浮点),否则它有什么区别呢?这是重复的。问题出在PHP方面。看看这个答案:为什么你想让它看起来像那样?Javascript在变量类型上是宽容的,所以除非您需要它是一个整数(或浮点),否则它有什么区别呢?这是重复的。问题出在PHP方面。请看下面的答案:好的一点,这在带有大整数的Javascript中始终是一个问题所有时间似乎都是
1000的倍数(可能是转换为毫秒的秒),因此,最后几位精度的损失可能并不重要。@Barmar这里的问题是我不知道时间是什么。好的一点,这在Javascript中总是一个大整数的问题。这些时间似乎都是1000的倍数(可能是转换为毫秒的秒数),所以最后几位精度的损失可能无关紧要。@Barmar这里的问题是我不知道时间是什么。