JSON 输出在 postman 中有效但在 python post 请求中无效

JSON output works in postman but not in python post request

我有一个 python 代码,它应该创建一个 json 文件,我在 post 请求中用作数据。

变量如下所示:

request="""{"QueryString":"{\"search_type\":5,\"project_id_list\":[\"1\"],\"user_key\":\"a\",\"options\":{\"pagination\":{\"page_num\":1,\"page_size\":200},\"projection\":{\"name\":1},\"condition_group\":{\"conjunction\":\"AND\",\"conditions\":[],\"groups\":[]},\"facet\":{\"fields\":[],\"type\":0,\"update_one\":false},\"groups\":[],\"sort\":[]},\"search_types\":[]}","SearchType":4}"""

当我打印上面的变量时,我得到以下输出:

{"QueryString":"{\"search_type\":5,\"project_id_list\":[\"1\"],\"user_key\":\"a\",\"options\":{\"pagination\":{\"page_num\":1,\"page_size\":200},\"projection\":{\"name\":1},\"condition_group\":{\"conjunction\":\"AND\",\"conditions\":[],\"groups\":[]},\"facet\":{\"fields\":[],\"type\":0,\"update_one\":false},\"groups\":[],\"sort\":[]},\"search_types\":[]}","SearchType":4}

当我在 postman 请求中使用以下输出时,它按我预期的方式工作。但是,当我使用相同的变量通过以下函数发送 http 请求时,出现错误。

url = 'www.myurl.com'
body =request
headers = {
'Token': 'sas'}
r = requests.post(url, data=body, headers=headers)
print(r.text) #prints an error {"statusCode":-1,"errMsg":"unexpected end of JSON input"}

为什么我的输出在 postman 上有效,但在 python 本身却无效?

由于代码在 postman 中运行,您可以从 postman 本身生成 python 代码: