Php 无效的JSON:不可见字符?

Php 无效的JSON:不可见字符?,php,jquery,json,Php,Jquery,Json,我正在使用JSON在PHP和Javascript/Jquery之间切换。。。出于某种原因,我从MSSQL表中提取的数据间歇性地使我的JSON无效。我看不出这有什么理由是无效的。。。同样的一组数据也适用于其他条目。我尝试了不同的字符编码。。。我尝试过使用htmlentities()和htmlspecialchars(),但certian条目仍然使JSON无效 下面是一个无效JSON的示例 {"TASK": "test","TYPE": "Other Issue","SUBTYPE": "","CA

我正在使用JSON在PHP和Javascript/Jquery之间切换。。。出于某种原因,我从MSSQL表中提取的数据间歇性地使我的JSON无效。我看不出这有什么理由是无效的。。。同样的一组数据也适用于其他条目。我尝试了不同的字符编码。。。我尝试过使用htmlentities()和htmlspecialchars(),但certian条目仍然使JSON无效

下面是一个无效JSON的示例

{"TASK": "test","TYPE": "Other Issue","SUBTYPE": "","CATEGORY": "","REQUEST": "Mat Gilbert","OPENDATE": "Dec 8 2010 5:12PM","PRIORITY": "2 - Low","DUEDATE": "","DESCRIPT": "12/8/2010 12:12 PM Eastern Standard Time - scldom\mgilbert test\n","STATUS": "","RESPONS": ""} {“任务”:“测试”,“类型”:“其他问题”,“子类型”:“类别”:“请求”:“Mat Gilbert”,“开放日期”:“2010年12月8日下午5:12”,“优先级”:“2-低”,“DUEDATE”:“描述”:“2010年8月12日下午12:12东部标准时间-scldom\mgilbert测试”;“状态”:“响应”:“} 当我使用jsonlint时。。。它告诉我:

语法错误,在第10行无效

第10行是“描述”字段


我完全不明白为什么这是无效的JSON。请帮助。

您必须像这样转义此斜杠
scldom\mgilbert
scldom\\mgilbert

为了避免将来在生成正确的JSON时遇到麻烦,您可以使用PHP函数。

如下:

scldom\mgilbert

\m
无效。将其更改为
\\m

您使用的是json_encode(),而不是自己手工制作json,对吗?htmlspecialchars用于编码HTML文本。。。JSON与HTML完全无关-您必须生成有效的Javascript文本,这是一个完全不同的游戏。非常感谢您的帮助。。。不幸的是,我使用的PHP构建(4.3.9)没有这个功能,维护环境的人不想升级到5.x。我编写了自己的函数来伪造JSON数据格式的导出。。。我会包括这个马上!