我正在尝试返回从 MySQL 服务器读取的 json 内容。这应该很容易,但是内容的开头不断出现一个“奇怪”的字符。
我有两个返回内容的页面:
kcb433.sytes.net/as/test.php?json=true&limit=6&input=d
这个 test.php 来自 Timothy Groves 写的一个脚本,它将数组转换为 json 输出
http://kcb433.sytes.net/k.php?k=4
这个应该也是一样的
我试图在这里验证它 jsonformatter.curiousconcept.com但只有第 1 页得到验证,第 2 页表示它不包含 JSON 数据。
直接访问两个页面都没有问题。那有什么区别,为什么两者都没有得到验证?
然后我找到了这个页面jsonformat.com并尝试了同样的事情。第 1 页正常,第 2 页不正常,但令人惊讶的是可以读取数据。一目了然,
{"a":"b"}
可能看起来不错,但前面有一个字符。
根据在线十六进制编辑器,这是上面字符串的值(而不是 9 个值,有 10 个):
-- 7B 22 61 22 3A 22 62 22 7D
第2页回显json的代码是:
header("Content-Type: application/json");
echo "{\"a\":\"b\"}";
最佳答案
您的k.php
文件有BOM signature开始时,再次使用无 BOM 的 UTF8 保存 k.php
。
关于json - json 内容类型开头的奇怪字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2475113/