Php JSon解析错误:无法解析JSon字符串距离位置MYSQL和React Native

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.

祝你今天愉快

我得到JSON解析错误。我想这不仅仅是数字的数量。我想用React native将这些输出保存到firebase表中。结果如下:

[
    {
        "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;
    }
}