gpt4 book ai didi

javascript - 如何处理包含数字字符串的 JSON

转载 作者:太空宇宙 更新时间:2023-11-03 11:46:07 33 4
gpt4 key购买 nike

我正在使用以下 PHP 代码从网络服务器中提取 JSON 数据

 $result = mysql_query("select lat,lng from gpsdata limit 10");
$rows = array();
while($r = mysql_fetch_assoc($result)) {
$rows[] = $r;
}

print json_encode($rows);

我正在使用 Javascript 来获取此数据

 $.getJSON('returngps.php').done(function(data) {
for (var i=0;i< data.length;i++ ){
console.log(data[i]);
}
}

我的问题是返回的数据。我目前得到的输出是:

   {lat: "53.399793333333", lng: "-6.3844516666667"}

我想处理的是:

   {lat: 53.399793333333, lng: -6.3844516666667}

有什么方法可以转换吗?

最佳答案

问题是从 MySQL 到 PHP 的数字检索导致它们被转换为字符串。 (我讨厌 PHP 和 MySQL 之间的关系不尊重类型!) 然后,JSON 序列化适本地维护字符串类型。

因此,您需要在检索时将值转换为 float 。这将导致 JSON 序列化将值视为数字而不是字符串,并且在您的接收 JS 中不需要任何荒谬的字符串操作或关于数据类型的假设。

$result = mysql_query("select lat,lng from gpsdata limit 10");
$rows = array();
while($r = mysql_fetch_assoc($result)) {
$r['lat'] = (float) $r['lat'];
$r['lon'] = (float) $r['lon'];

$rows[] = $r;
}

关于javascript - 如何处理包含数字字符串的 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38724768/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com