如何在Postman参数中传入JSON值?请求报400错误求方案
在Postman参数中传入JSON格式值的解决方法
直接传JSON字符串返回400是因为JSON里的引号、空格等特殊字符没做编码,服务端解析参数时识别为无效格式。下面是几种简便实现方式:
URL编码后直接填入参数
把你的JSON字符串做URL编码,编码后的内容直接作为Message参数的值。你的JSON编码后结果如下:%7B%22default%22%3A%22A%20message.%22%2C%22email%22%3A%22A%20message%20for%20email.%22%2C%22email-json%22%3A%22A%20message%20for%20email%20%28JSON%29.%22%2C%22http%22%3A%22A%20message%20for%20HTTP.%22%2C%22https%22%3A%22A%20message%20for%20HTTPS.%22%2C%22sqs%22%3A%22A%20message%20for%20Amazon%20SQS.%22%7D直接复制到Message参数的输入框即可。
用Pre-request Script自动生成编码值
打开请求的「Pre-request Script」标签,粘贴以下代码:const messageJson = {"default":"A message.","email":"A message for email.","email-json":"A message for email (JSON).","http":"A message for HTTP.","https":"A message for HTTPS.","sqs":"A message for Amazon SQS."}; const encodedMessage = encodeURIComponent(JSON.stringify(messageJson)); pm.environment.set("encodedMessage", encodedMessage);然后在参数栏的Message值里填入
{{encodedMessage}},发送请求时Postman会自动替换成编码后的JSON字符串。改用请求体传递参数(适用于POST类请求)
如果你的请求是POST/PUT等类型,切换到「Body」标签,选择form-data或x-www-form-urlencoded格式,添加一个键为Message的项,值直接填原始JSON字符串。Postman会自动处理特殊字符的编码,无需手动操作。
内容的提问来源于stack exchange,提问作者Gilad
相关产品推荐
相关产品推荐

