无效的JSON:隐形字符?

时间:2011-04-25 16:08:52

标签: php jquery json

我正在使用JSON在PHP和Javascript / Jquery之间进行...由于某种原因,我从MSSQL表中提取的数据间歇性地使我的JSON无效。我看不出为什么这应该是无效的任何原因...并且相同的数据集适用于OTHER条目。我尝试过不同的char编码...我尝试过使用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": ""}

当我使用jsonlint时......它告诉我以下内容:

语法错误,第10行意外的TINVALID

第10行是“DESCRIPT”字段。

我完全迷失了为什么这是无效的JSON。请帮忙。

2 个答案:

答案 0 :(得分:5)

您必须像scldom\mgilbert一样逃避此斜杠scldom\\mgilbert

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

答案 1 :(得分:2)

此:

scldom\mgilbert

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