我正在连接到以 JSON 格式返回图像 URL 的 PHP Web 服务(使用 PHPjson_encode
函数)。
我在 mootools 1.2.5 系统中工作,该系统也需要在手机上工作。
数据中返回的图像节点的格式是这样的:
"thumb": "<img src=\"http://photos.imgserv.com/201107222000000.jpg\" />"
出于某种原因,当我将 response.JSON 传递给它们时,iphone 和 android 会看到一个 NULL 值。我可以毫无问题地将 response.text 对象传递给他们,但是 JSON.decode 失败,因为双引号没有正确转义。如果我像这样在图像标签上手动添加双反斜杠:
"thumb": "<img src=\\"http://photos.imgserv.com/201107222000000.jpg\\" />"
这一切都按设计工作。但是,我很难找到正确的正则表达式来替换\"
原始 response.text 中的\\"
.
是否有一种“正确”的方式来处理手机的 response.JSON,或者如何正确编写 string.replace() 正则表达式来处理这些转义字符?
谢谢!
编辑添加:
这是两个带有单反斜杠和双反斜杠的 jsfiddles 来显示问题:
单反斜杠(不正确解码/解析)-- http://jsfiddle.net/Qde6F/ 双反斜杠(正确解码/解析)-- http://jsfiddle.net/Qde6F/1/