为什么我在尝试将json与目标c一起使用时,会出现json末尾有垃圾的错误


Why do I get the error that there is garbage at the end of my json when trying to use it with objective c?

我有一个PHP脚本,它从sqlite数据库中获取数据,然后使用json_encode()函数将其转换为json。我正在正确地获取数据,但我认为它的格式不正确。一条记录的一切都很好,但当你添加另一条记录时,我会收到错误消息,error Domain=NSCocoaErrorDomain Code=3840"Garbage at end"。UserInfo={NSDebugDescription=Garbage in end。}

输出的URL是www.bekllimo.me/sqlitetojson.php

if (file_exists($fileName)) {
//echo "The file $fileName exsists";
try{
$dbHandle = new PDO('sqlite:/home3/anyinfc1/public_html/beklimo/checkedintrainsDB.sql');
$dbHandle->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
$result = $dbHandle->query('SELECT *FROM trainscheckedin');

foreach ($dbHandle->query('SELECT * FROM trainscheckedin') as $row) {
    echo json_encode($row);
}
}catch (PDOException $e){
echo 'EXCEPTION: '.$e->getMessage();
}
}else{
echo "The file $fileName does not exist";
}

?>

任何帮助都会很棒!我把我的头从墙上打下来了。我是新手,所以我可能没有正确格式的输出。我知道这种格式只适用于一个条目,只是不能超过一个

您每次都在回显单独的JSON对象,而接收端可能需要一个。尝试创建一个包含所有行的行并回显它:

foreach ($dbHandle->query('SELECT * FROM trainscheckedin', PDO::FETCH_ASSOC) as $row) {
    $data[] = $row;  // create an array of rows
}
echo json_encode($data);
//  or possibly an object
echo json_encode((object)$data);