【发布时间】:2015-12-02 18:53:42
【问题描述】:
下面链接中的 JSON 有什么问题???
http://bruceexpress.com/beerstore/test/getottawaeaststorebeerlist.php
使用 PHP,我从 SQL 查询生成上述 JSON,并使用 json_encode 对其进行编码。
$retval = mysqli_query($connection, $sql);
if(! $retval )
{
print('Could not select: ' . mysqli_error());
}
$storearray = array();
while($row = mysqli_fetch_assoc($retval))
{
$storearray[] = $row;
}
header('Content-Type: application/json');
echo json_encode($storearray);
在 SWIFT 中:
json = try NSJSONSerialization.JSONObjectWithData(data!, options: NSJSONReadingOptions.MutableContainers)
正在抛出 NSCocoaErrorDomain Code=3840 异常。 “JSON 文本不是以数组开头....”
我发现了异常并打印了数据,我看到了这个:
("<!DOCTYPE html>\n[{\"beer_id\":\"1650\",\"store_id\":\"4618\"},{\"beer_id\":\"1650\",\"store_id\":\"4607\"},{\"beer_id\":\"1650\",\"store_id\":\"4616\"},{\"beer_id\":\"1650\",\"store_id\":\"4604\"},{\"beer_id\":\"5213\",
.......(等等。我没有复制整个内容。它太长了。”)
我知道有很多这样的问题,但我仍然没有看到我需要的答案。我的 JSON 有什么问题???
【问题讨论】:
-
json 中不应该有 doctype;您是否也正确设置了标题(例如:stackoverflow.com/questions/4064444/…)?
-
您的 PHP 脚本还回显/打印/输出什么?
-
您在回显
JSON之前将<!DOCTYPE html>打印到页面上 -
I showed all relevant php code.我的猜测是发送它的是不相关的代码。检查所有包含的文件是否没有输出任何内容。而且我确信它只是自动的,因为您在某处有一些脚本说echo "<!DOCTYPE html>"; -
我真是个白痴! 位于 php 脚本的第一行。前面没有回声,但它就在那里。愚蠢的我!谢谢大家!