Actionscript 3 AS3 URLVariables不回避数据

Actionscript 3 AS3 URLVariables不回避数据,actionscript-3,Actionscript 3,我有一个查询信息的PHP文件,它返回了几个变量。一个变量包含一个JSON字符串,该字符串在名为message的对象中包含一个变量,如果消息中有一个符号、单引号等,则会对该变量进行转义以防止它引起问题 &data={"message":"star%27s"} 显然,发送的数据更复杂,这只是一个例子。在我获取PHP文件传回的数据并使用URLVariables对其进行解码并访问“data”变量后,它最终看起来像: {"message":"star's"} 此时,我无法解析JSON字符串,因

我有一个查询信息的PHP文件,它返回了几个变量。一个变量包含一个JSON字符串,该字符串在名为message的对象中包含一个变量,如果消息中有一个符号、单引号等,则会对该变量进行转义以防止它引起问题

&data={"message":"star%27s"}
显然,发送的数据更复杂,这只是一个例子。在我获取PHP文件传回的数据并使用URLVariables对其进行解码并访问“data”变量后,它最终看起来像:

{"message":"star's"}
此时,我无法解析JSON字符串,因为只有一个引号,它将抛出一个错误。编码它不起作用,它编码的不仅仅是冒号后面的所有内容

有没有办法阻止它转换?我想我可以手动解析PHP返回的字符串,但它似乎没有必要,我不想因为它而在以后遇到问题。我查看了AS3API,但找不到任何文档记录这一点或如何禁用它

有什么想法或建议吗?

你可以试试看

Actionscript API escape()和unescape()有关更多详细信息,请参阅

还要看JSON.parse和JSON.stringify


actionscript中的JSON解码参见

这真的是无效的JSON吗?我认为单引号不应该引起任何问题。同意,为什么单引号在解析由双引号描述的字符串时会引起问题?(主要是好奇,但解释一下可能会帮助我们中的一些人更好地理解这个问题)。另外,您在JSON解析中使用的是什么,Flash Player 11中的内置JSON类还是AS3核心库swc中的旧解析器?我使用的是Flash 11中包含的本机JSON解析器。我不知道,但我的整个JSON字符串未能反编译,因为有人在一个单词中使用了一个引号。我到处搜索,读到正斜杠或反斜杠也可以打断它(忘了是哪一个)。不管怎样,我最终只是将变量和数据分开,并手动删除消息,它工作得很好。经过检查,它成功地解码了我在上面的原始帖子中的第一行代码,即使它变成了一个引用,也很好,一定是其他东西。