【发布时间】:2016-01-27 22:56:27
【问题描述】:
我收到一个如下所示的 JSON 块(为简洁而编辑):
... "actions": [{"script": \"{\"inputs\": [], <LOTS MORE JSON>}"}]"
本质上它是一个嵌套在另一个对象中的字符串。
当我使用 Chrome 中的 Advanced Rest Client 将此 JSON 发送到我的 Node.js API 时,它会成功。但是,当我使用此 Python 代码发送它时:
headers={'content-type': 'application/json'}
newrsp = self.session.post("http://my-api", data=str(my_json), headers=headers)
我收到了
SyntaxError: Unexpected token i
查看调用 JSON.parse 之前的正文,看来我的有效负载已被修改。而不是这样:
... "actions": [{"script": \"{\"inputs\": [], <LOTS MORE JSON>}"}]"''
看起来像这样:
... "actions": [{"script": "{"inputs": [], <LOTS MORE JSON>}"}]"
从其他程序调用我的 API 可以正常工作,并且不会删除转义字符,所以我很确定这不是我的代码,但 Requests API 在发送我的 JSON 之前以某种方式去除了字符。
我不是 Python 达人……任何 Python 人都知道发生了什么(希望我可以告诉请求不要这样做)?
【问题讨论】:
标签: json node.js python-requests