【发布时间】:2012-03-21 11:35:48
【问题描述】:
我有一个这样的字典:
data = {"data":"http://abc/def"}
当我打电话给json.dumps(data) 时,我明白了:
'{"data":"http://abc/def"}'
但我想要这个:
'{"data":"http:\/\/abc\/def"}'
因为我使用 jquery 解析 json 但似乎它不理解未转义的solidus,或者有什么方法可以让 jquery 理解?
更新
例如,这是我的 json 数据
{"data": ["http://abc.com/aaaaaaaa/bbbbbbbbb/cccccccccc/xyz.mp3"]}
这是我的成功函数
function showResult(result) {
$.each(result.data, function(i, item){
link = $('<a>').attr('href', item).text(item)
$("#result").append('<br>')
$("#result").append(link);
});
}
结果应该是指向
的超链接http://abc.com/aaaaaaaa/bbbbbbbbb/cccccccccc/xyz.mp3
但我有一个超链接到
http://abc.com/aaaaaaaa/bbbbbbbbb/cccccccccc/xyz.mp3
如果用'\/'替换所有'/',一切都很好
【问题讨论】:
-
你能描述一下 jquery 是如何不理解它或者你在 jquery 中使用这个 json 时遇到了什么错误吗?
-
为什么在正斜杠前有两个反斜杠?当然这意味着一个转义的反斜杠和一个未转义的正斜杠?
-
你能给我们看一下jQuery代码吗?我在浏览器的 Web 控制台中尝试了
JSON.parse('{"data":"http://abc/def"}'),它运行良好。 -
@Marcin:我一开始没有使用编辑器代码标签