Php JSon解析错误:无法解析JSon字符串距离位置MYSQL和React Native
祝你今天愉快 我得到JSON解析错误。我想这不仅仅是数字的数量。我想用React native将这些输出保存到firebase表中。结果如下:Php JSon解析错误:无法解析JSon字符串距离位置MYSQL和React Native,php,mysql,react-native,Php,Mysql,React Native,祝你今天愉快 我得到JSON解析错误。我想这不仅仅是数字的数量。我想用React native将这些输出保存到firebase表中。结果如下: [ { "ID": "1", "CODE": "A1", "distance": "5188.275202003308" } ] [ { "ID": "1", "CODE": "A1", " distance "" 5188.
[
{
"ID": "1",
"CODE": "A1",
"distance": "5188.275202003308"
}
]
[
{
"ID": "1",
"CODE": "A1",
" distance "" 5188.275202003308 "
},
{
" ID ",
" 2 ",
"
CODE ",
" A2 ",
" distance ",
" 6972.949043284923 "
}
]
反应本机代码:
fetch('http://.../database/KONUM.php')
.then((response) => response.json())
.then((responseJson) => {
firebase.database().ref('/KONUM/').set(responseJson);
})
.catch((error) => {
console.error(error);
});
MYSQL PHP代码:
<?php
include 'DBConfig.php';
// Create connection
$conn = new mysqli($HostName, $HostUser, $HostPass, $DatabaseName);
if ($conn->connect_error) {
}
$sql = "SELECT ID,KODU, ( 3959 * acos( cos( radians(37) ) * cos( radians( ADRES ) ) * cos( radians( ACIK_ADRES ) - radians(-122) ) + sin( radians(37) ) * sin( radians( ADRES ) ) ) ) AS distance
FROM ....TBL_MUSTERILER
HAVING distance < 11125
ORDER BY distance
LIMIT 0 , 20;";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
while($row[] = $result->fetch_assoc()) {
$tem = $row;
$json = json_encode($tem);
echo $json;
}
}
else {
echo "No Results Found.";
}
$conn->close();
?>
构建JSON最安全的方法是创建单个PHP数据结构、数组或对象,然后仅在其完成时对其进行编码 您还可以使用名为
fetch_all()
的方法在一次调用中获取所有行
<?php
include 'DBConfig.php';
// Create connection
$conn = new mysqli($HostName, $HostUser, $HostPass, $DatabaseName);
if ($conn->connect_error) {
}
$sql = "SELECT ID,KODU, ( 3959 * acos( cos( radians(37) ) * cos( radians( ADRES ) ) * cos( radians( ACIK_ADRES ) - radians(-122) ) + sin( radians(37) ) * sin( radians( ADRES ) ) ) ) AS distance
FROM ....TBL_MUSTERILER
HAVING distance < 11125
ORDER BY distance
LIMIT 0 , 20;";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
$all_rows = $result->fetch_all();
$all_rows['status'] = "OK"; // addd a status
} else {
$all_rows['status'] = "No Results Found."; // report issue in status
}
echo json_encode($all_rows);
$conn->close();
?>
由于多种原因,JSON字符串似乎无效。您可以在名为jsonlint.comError code React Native:Json解析器错误:无法识别的标记“?”的站点上测试这些字符串,那么您可以显示正在生成的Json字符串吗
if ($result->num_rows > 0) {
while ($row = $result->fetch_all()) {
$all_rows[] = $row;
}
}