为啥我在尝试将它与目标 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 天气机器人时会收到此错误