2012-04-10 44 views
3

我在iOS应用程序中使用JSONKit。 它加载由我的PHP文件提供一个非常简单的JSON:JSONKit无法解析简单的JSON从PHP?

http://staging.comwerks.net/terrence/ecitizen/article.php

不知何故,它是生产一个错误: “意外的道理,想 '{', '}', '[',“] ',',',':','true','false','null',''STRING'','NUMBER'。}

当我尝试使用http://jsonlint.com/来欺骗我的URL。是抱怨类似的错误的开放括号!

我的PHP不能更简单:

<?php 
header('Content-type: application/json'); 
$json = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5); 
echo json_encode($json); 
?> 
+0

+1一个真正良好的呈现问题。 – 2012-04-10 12:22:50

+0

谢谢丹雷:DD – mkto 2012-04-10 13:02:29

回答

1

它可能会抱怨在响应开始时的Unicode字节顺序标记。如果我将输出复制并粘贴到linter中,它会进行验证。这可能是在你的article.php文件的开头。你的文本编辑器应该有一个没有它的保存选项(可能在另存为...对话框中)。

http://en.wikipedia.org/wiki/Byte_order_mark

+0

谢谢尼克...我用UTF8中的记事本++重新保存了php文件 - 没有BOM。然后它工作! – mkto 2012-04-10 13:00:59

+0

没问题。 BOMs造成的问题比他们解决的问题还要多,所以最好不要在任何可能的情况下使用它们! – Nick 2012-04-10 13:02:39

1

我同意尼克。当我将json直接拉到一个文件时,我的编辑说编码是带有BOM的UTF-8。

此外,您使用JSON验证给了我这个错误:

JSON Parse error: Unrecognized token '?'

+0

谢谢彼得,你也是关于BOM :)))) – mkto 2012-04-10 13:02:05