JSON.parse错误#1132:无效的JSON解析输入(Flex/Actionscript/PHP)

JSON.parse错误#1132:无效的JSON解析输入(Flex/Actionscript/PHP),php,json,actionscript-3,apache-flex,parsing,Php,Json,Actionscript 3,Apache Flex,Parsing,我收到“Error#1132:Invalid JSON parse input”,无法理解原因 我的json是由php:json_encode($x)生成的。 如果在TextArea(flex)中显示输出json,则显示以下内容: { "title":"The Incredibles", "year":"2004", "type":"movie", "id":"9806", "imdb_id":"tt0317705", "rating":8.6, "ta

我收到“Error#1132:Invalid JSON parse input”,无法理解原因

我的json是由php:json_encode($x)生成的。 如果在TextArea(flex)中显示输出json,则显示以下内容:

{
   "title":"The Incredibles",
   "year":"2004",
   "type":"movie",
   "id":"9806",
   "imdb_id":"tt0317705",
   "rating":8.6,
   "tagline":"No gut, no glory",
   "overview":"Bob Parr has given up his superhero days to log in time as an insurance adjuster and raise his three children with his formerly heroic wife in suburbia. But when he receives a mysterious assignment, it\\'s time to get back into costume.",
   "runtime":115,
   "budget":92000000,
   "image":"http:\/\/cf2.imgobject.com\/t\/p\/w185\/jjAgMfj0TAPvdC8E5AqDm2BBeYz.jpg",
   "trailer":"rMfrFG_69zM"
}
我用几个验证器进行了验证,它们都说这是有效的json

在flex端,我尝试使用以下代码访问json:

JSON.parse(event.result.toString());
但是要得到错误。有人有这个问题吗

编辑1:


总览行似乎就是问题所在,但我不明白为什么,因为我使用了php json编码,它应该正确地转义…

转义序列
\\'
似乎终止了json

it\\\
应该是
it
,如果你想要“it's”

因为这个JSON使用
表示字符串,所以它可以是:
它是

JSON:


我不知道你是否已经解决了这个问题,但是我也遇到了同样的问题,今天终于解决了,问题是服务器端,返回json字符串的文件是UTF8编码的,我已经转换了它(通过notepad++)您的JSON是有效的,没有任何问题。这可能会对您有所帮助。 在结果事件中,使用下面的参考更新ur代码

    // Code
    var result:Object = JSON.parse( String(event.result) );
    trace( result['title'] );

JSON没有问题,我知道这个问题已经有了答案,但这个答案适用于那些仍然面临以下错误消息的人:

语法错误:错误#1132:JSON解析输入无效

当涉及到
HTTPService
选项时,可能会出现结果格式不匹配的问题:尝试
text
e4x
格式(它们是最方便的格式),并避免使用
xml
格式,这可能会在JSON输出中引入一些额外字符,从而触发一些错误

使用以下命令解析数据:

var temp_obj:Object = JSON.parse(event.result as String);
并通过使用正确的
resultFormat
调用
HTTPService
来触发JSON输出:

resultFormat="text"


it\\\
应该是
it
如果你想“it's”。我删除了php的addslashes()函数,所以现在它只是“it's”,但就像之前一样,我得到了“SyntaxError:Error#1132:Invalid JSON parse input.”在flex.code中使用了:JSON.parse(event.result.toString())['title']。toString()的原因是1118:将具有静态类型对象的值隐式强制转换为可能不相关的类型字符串。“否则,我缺少什么?我尝试使用与上面相同的json硬编码var字符串,结果成功,因此我猜测它与toString()或“event.result”的返回类型有关“我将其标记为正确答案,因为它确实回答了问题,但我希望您可以在评论中查看问题,谢谢。最后的问题是,当我认为我在actionscript的跟踪函数中执行时,我在php的echo中添加了一些文本。我的问题是附加在php文件中的额外文本(用于测试)当我打算在我的flex应用程序中添加,这样它就不会被解析。。我不认为编码本身与您的问题有任何关系,很可能您有一个json解析的字符,例如(/,[]等)。这个问题在10个月前已经得到了回答。我的问题是我在json数据的末尾添加了一些调试文本。
resultFormat="text"
resultFormat="e4x"