来自json_encode()的无效json
Invalid json from json_encode()
这是我的PHP文件(实际文件更复杂,但我发现即使使用最简单的代码它也失败了):
<?php
$salida = array(1,2,3,4,5);
echo json_encode($salida);
?>
这是我得到的响应:
[1,2,3,4,5]
似乎是有效的,但它不是。我的AJAX应用程序说'Unexpected token'
时,我把它传递给jQuery.parseJSON()函数。当我将它粘贴到JSONLint网页时,返回相同的错误。
我注意到,如果我删除第一个字符并再次键入它,JSON将变得有效。
这让我思考,我用十六进制编辑器检查JSON字符串,我在文件开头发现了奇怪的字符:
[1,2,3,4,5]
这很奇怪,因为这个函数直到几天前还工作得很好,而且文件还没有被修改。
<?php>
标记位于文件的开头,编码为utf-8。
我在Windows 8.1上使用XAMPP 1.8.3。我重新安装了XAMPP,以防有什么东西坏了,但json_enconde()
功能仍然不起作用。
谁知道怎么解决这个问题?
谢谢
您需要保存没有UTF8 BOM(字节顺序标记)的PHP文件(以及它包含的所有文件)。怎么做取决于你的编辑器。请注意,使用UTF8本身是完全可以的,并鼓励使用。只是没有BOM。
相关文章:
- Jquery Datatables错误:无效的JSON基元:draw
- Laravel数据表无效的JSON响应
- 使用JSON.parse时出现无效字符javascript错误
- JSON.stringify抛出RangeError:大型对象的字符串长度无效
- 解析 JSON 时出现无效字符错误
- 为什么 JSON.parse 给出无效的字符
- TypeError: 使用 Jquery JSON 获取数据时无效的 'in' 操作数 obj
- AJAX:无效的JSON响应
- 为什么MooTools JSON.encode()返回“$呼叫者”:无效的
- JSON.parse中存在无效字符
- 无效的JSON-试图嵌套数组
- JSON无效字符错误
- 修复无效JSON的最有效方法
- 无效的“in”操作数 obj JQUERY - 尝试从 JSON 获取数据时出现类型错误
- JSON 数据的分配无效
- (无效)如何在 JSON 中使用“this”关键字
- ajax 无效的 json,为什么这个 JSON 无效
- Javascript编码对JSON无效
- JSON无效令牌
- 保存模型时,Backbone 1.2发出的Json无效