为啥我在尝试将它与目标 c 一起使用时会收到错误消息,即我的 json 末尾有垃圾?

Posted

技术标签:

【中文标题】为啥我在尝试将它与目标 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?为什么我在尝试将它与目标 c 一起使用时会收到错误消息,即我的 json 末尾有垃圾? 【发布时间】:2015-12-09 22:12:52 【问题描述】:

我有一个 php 脚本,它从 sqlite 数据库中获取数据,然后使用 json_encode() 函数将其转换为 json。我正在正确获取数据,但我认为它的格式不正确。一条记录一切正常,但是当您添加另一条记录时,我收到此错误消息,Error Domain=NSCocoaErrorDomain Code=3840 “Garbage at end”。 UserInfo=NSDebugDescription=垃圾结束。

具有输出的 URL 是 www.beklimo.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";




?>

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

【问题讨论】:

【参考方案1】:

您每次都在回显单独的 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);

【讨论】:

效果很好,现在开始我的下一个问题!感谢您的帮助! 您不会碰巧知道为什么这些值会这样重复吗?如"邮政编码":"48164","0":"48164","纬度":"42.097673","1":"42.097673","经度":"-83.392775","2":"- 83.392775","timestamp":"2015-12-07 10:26:26 0000","3":"2015-12-07 10:26:26 0000" 它将每个数据放在正确的键下,然后是数字键 像这样我的意思是,"postalcode":"48164","0":"48164",用邮政编码和“0”表示的相同数据 几种方式:php.net/manual/en/pdostatement.setfetchmode.php我在上面加了PDO::FETCH_ASSOC

以上是关于为啥我在尝试将它与目标 c 一起使用时会收到错误消息,即我的 json 末尾有垃圾?的主要内容,如果未能解决你的问题,请参考以下文章

为啥我在尝试使用 reddit API 时会收到 405 错误?

为啥我在 Maven 动态 Web 模块中收到此 404 错误?

为啥我在尝试快速传递 segue 上的变量时会收到这些错误?

为啥我在尝试运行我的 Twitter 天气机器人时会收到此错误

为啥我在 R 中运行 wget 时会收到 127 的系统状态错误?

为啥我在使用 Google Clas-s-room API 时会收到 404 错误?