Python JSON编码器

use*_*092 0 python jquery json

我有这样的字典:

data = {"data":"http://abc/def"}
Run Code Online (Sandbox Code Playgroud)

我打电话的时候json.dumps(data)得到这个:

'{"data":"http://abc/def"}'
Run Code Online (Sandbox Code Playgroud)

但我想要这个:

'{"data":"http:\/\/abc\/def"}'
Run Code Online (Sandbox Code Playgroud)

因为我使用jquery来解析json但似乎它不理解未转义的solidus,或者有什么办法让jquery理解?

UPDATE

例如,这是我的json数据

{"data": ["http://abc.com/aaaaaaaa/bbbbbbbbb/cccccccccc/xyz.mp3"]}
Run Code Online (Sandbox Code Playgroud)

这是我的成功功能

function showResult(result) {
            $.each(result.data, function(i, item){
                link = $('<a>').attr('href', item).text(item)
                $("#result").append('<br>')
                $("#result").append(link);
            });
        }
Run Code Online (Sandbox Code Playgroud)

结果应该是一个超链接

http://abc.com/aaaaaaaa/bbbbbbbbb/cccccccccc/xyz.mp3
Run Code Online (Sandbox Code Playgroud)

但我有一个超链接

http&#58;&#47;&#47;abc.com&#47;aaaaaaaa&#47;bbbbbbbbb&#47;cccccccccc&#47;xyz.mp3
Run Code Online (Sandbox Code Playgroud)

如果用'\ /'替换所有'/',一切都很好

orl*_*rlp 5

通常你不会在JSON中转义正斜杠,但如果你确定这是你的问题,你可以简单地这样做:

s = json.dumps(data)
s = s.replace("/", "\\/")
Run Code Online (Sandbox Code Playgroud)

  • 如果你没有使用一个混淆正斜杠的自定义库,那就有问题了.您应该考虑定位错误,因为随着应用程序的增长,它会产生越来越多的问题 (5认同)