Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/394.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript SCRIPT1014:无效字符_Javascript_Json_Validation_Character Encoding_Jsonlint - Fatal编程技术网

Javascript SCRIPT1014:无效字符

Javascript SCRIPT1014:无效字符,javascript,json,validation,character-encoding,jsonlint,Javascript,Json,Validation,Character Encoding,Jsonlint,我有一些JSON,它在使用测试时非常完美,但在我尝试将其解析为对象时会出现无效字符错误。我已经看过JSON字符串,它看起来还可以。我如何看到可能隐藏的有趣角色 这里是jsfiddle链接 您可以使用Fiddler()之类的调试代理,然后检查JSON请求的原始数据,看看响应中是否有一些不需要的字符。您可以使用Fiddler()之类的调试代理然后检查JSON请求的原始数据,查看响应中是否有一些不需要的字符。JSON没有问题: 当可以将{和}视为块时,它们不会被视为对象文字,因此,例如,使用变量赋值可

我有一些JSON,它在使用测试时非常完美,但在我尝试将其解析为对象时会出现
无效字符
错误。我已经看过JSON字符串,它看起来还可以。我如何看到可能隐藏的有趣角色


这里是jsfiddle链接

您可以使用Fiddler()之类的调试代理,然后检查JSON请求的原始数据,看看响应中是否有一些不需要的字符。

您可以使用Fiddler()之类的调试代理然后检查JSON请求的原始数据,查看响应中是否有一些不需要的字符。

JSON没有问题:


当可以将
{
}
视为块时,它们不会被视为对象文字,因此,例如,使用变量赋值可以修复它。您还可以用
将其包装起来,如fiddle/1所示JSON没有问题:


当可以将
{
}
视为块时,它们不会被视为对象文字,因此,例如,使用变量赋值可以修复它。您也可以用
来包装它,如fiddle/1所示这可能不是您遇到的问题,但我通过指定响应类型应解释为JSON而不是文本,修复了ajax调用返回的JSON中的类似错误(当然,仅限Internet Explorer)。由于我使用的是jQuery,因此需要将ajax选项中的数据类型param设置为“text json”,从而将响应适当地从文本(如IE所见)转换为json


如果这对您不起作用,您也可以尝试直接更改来自服务器的响应类型,假设您有权访问它,以便它正确地报告返回的响应是JSON,而不是文本。

这可能不是您遇到的问题,但是我通过指定响应类型应解释为JSON而不是文本,修复了ajax调用返回的JSON中的类似错误(当然,仅限InternetExplorer)。由于我使用的是jQuery,因此需要将ajax选项中的数据类型param设置为“text json”,从而将响应适当地从文本(如IE所见)转换为json


如果这对您不起作用,您也可以尝试直接更改来自服务器的响应类型,假设您可以访问它,这样它就可以正确地报告返回的响应是JSON,而不是文本。

我认为他得到的是JSON,而不是JS对象。这只是一个字符串,通过JSON.parse()@MichaelSandino等工具解析成JS对象,然后他应该粘贴他得到的任何东西。。。除了jsfiddle之外,没有其他东西可以使用,它在成为一个表达式后工作得很好。我认为他得到的是JSON,而不是JS对象。这只是一个字符串,通过JSON.parse()@MichaelSandino等工具解析成JS对象,然后他应该粘贴他得到的任何东西。。。除了jsfiddle之外,没有其他东西可以使用,它在将其作为表达式之后工作得很好。