3

我在我的 iOS 应用程序中使用 JSONKit。它加载了一个由我的 php 文件提供的极其简单的 JSON:

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

不知何故,它产生了一个错误:“意外的令牌,想要'{','}','[',']',',',':','true','false','null',' “字符串”,“数字”。}

当我尝试使用http://jsonlint.com/对上面的 URL 进行 lint 处理时。它给出了一个类似的错误抱怨开放括号!

我的 php 再简单不过了:

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

2 回答 2

1

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

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

于 2012-04-10T11:40:28.750 回答
1

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

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

JSON Parse error: Unrecognized token '?'

于 2012-04-10T11:50:15.730 回答