我有一些JSON在使用jsonlint进行测试时非常完美,但在尝试将其解析为对象时会出现Invalid character
错误。我看了JSON字符串,似乎没问题。我如何看待可能隐藏的有趣角色?
这里是js小提琴链接。 http://jsfiddle.net/UexKp/
答案 0 :(得分:1)
这可能不是你遇到的问题,但我修复了我的ajax调用返回的JSON中的类似错误(当然只在Internet Explorer中),指定响应类型应该被解释为json而不是文字。由于我使用的是jQuery,因此需要将ajax选项中的dataType参数设置为“text json”,它将响应从文本(如IE所见)适当地转换为JSON。
如果这对您不起作用,您也可以尝试直接更改来自服务器的响应类型,假设您有权访问它,以便正确报告返回的响应是JSON,而不是文本。 / p>
答案 1 :(得分:0)
您可以使用调试代理(如Fiddler(http://www.fiddler2.com/fiddler2/)),然后检查JSON-Request的原始数据,以查看响应中是否有不需要的字符。
答案 2 :(得分:0)
JSON没有错:http://jsfiddle.net/UexKp/2/
{
和}
在被视为块时不被视为对象文字,因此具有变量赋值可以修复它。您也可以使用(
和)
对其进行换行,如fiddle / 1