Python AJAX响应字符串文本

Python AJAX响应字符串文本,python,Python,我有一个返回JSON对象的AJAX响应。其中一个字典值应为: “图像\/jpeg” 但实际上是: “图像\\/jpeg” 我已经阅读了有关字符串文本和如何忽略转义序列的文档,并且尝试在字符串前面加上“r”,但到目前为止没有成功 我的JSON编码字典如下所示: response.append({ “name”:i.pk, “大小”:False, “类型”:“图像/jpeg” }) 非常感谢您的帮助 根据,在JSON中,\字符应作为\转义 因此,Python json库是正确的: >>&

我有一个返回JSON对象的AJAX响应。其中一个字典值应为:

“图像\/jpeg”

但实际上是:

“图像\\/jpeg”

我已经阅读了有关字符串文本和如何忽略转义序列的文档,并且尝试在字符串前面加上“r”,但到目前为止没有成功

我的JSON编码字典如下所示:

response.append({ “name”:i.pk, “大小”:False, “类型”:“图像/jpeg” })

非常感谢您的帮助

根据,在JSON中,
\
字符应作为
\
转义

因此,Python json库是正确的:

>>> import json
>>> json.dumps({"type": r"image\/jpeg", "size": False})
'{"type": "image\\\\/jpeg", "size": false}'
在浏览器中解析/计算JSON时,
type
属性将具有正确的值
image\/jpeg

Python JSON解析器当然也会处理转义:

>>> print(json.loads(json.dumps({"type": r"image\/jpeg", "size": False}))["type"])
image\/jpeg
我发现非常奇怪的是,javascript库需要特定的值来标识资源的mime类型。

根据,JSON中的
\
字符应转义为
\

因此,Python json库是正确的:

>>> import json
>>> json.dumps({"type": r"image\/jpeg", "size": False})
'{"type": "image\\\\/jpeg", "size": false}'
在浏览器中解析/计算JSON时,
type
属性将具有正确的值
image\/jpeg

Python JSON解析器当然也会处理转义:

>>> print(json.loads(json.dumps({"type": r"image\/jpeg", "size": False}))["type"])
image\/jpeg

我觉得很奇怪,您的javascript库需要这个特定的值来表示一个看起来像是用来标识资源mime类型的值。

我很困惑。值应该是“image/jpeg”还是“image\/jpeg”?它应该是“image\/jpeg”。我使用的Javascript库要求它以这种方式读取。基本上\\是Python版本的\as\是字符串语法的一部分。我认为当你写“image\\/jpeg”的时候,它应该会起作用。也许你可以试试urllib.quote?这对于替换URL中的字符很有用,但可能仍然有效……恐怕我根本不能很好地理解你的问题。你到底在干什么?您是否有一些Python程序生成对AJAX请求的响应,或者仅仅是什么?您在哪里“读取”对象并在客户端javascript中看到错误的值?我很困惑。值应该是“image/jpeg”还是“image\/jpeg”?它应该是“image\/jpeg”。我使用的Javascript库要求它以这种方式读取。基本上\\是Python版本的\as\是字符串语法的一部分。我认为当你写“image\\/jpeg”的时候,它应该会起作用。也许你可以试试urllib.quote?这对于替换URL中的字符很有用,但可能仍然有效……恐怕我根本不能很好地理解你的问题。你到底在干什么?您是否有一些Python程序生成对AJAX请求的响应,或者仅仅是什么?您在哪里“读取”对象并在客户端javascript中看到错误的值?