如何将 JMeter 响应主体 (JSON) 编码为 UTF-8?
How to encode JMeter response body (JSON) to UTF-8?
我使用脚本将图片上传到网站,它 returns 我所有的书面数据都是 JSON 格式。
我们使用这个应用程序来识别不同文档上的 name/surname,我们也有俄语文档。
然而,JMeter returns 我是这样的:
{
"message": "recognized",
"birth_date": "1993",
"native_name": "\u0406\u042e\u041b\u0414\u0410",
"patronymic": "\u0410\u0410\u0410\u0410\u0410"
}
我也尝试更改 jmeter.properties 和 system.properties 中的编码,但没有帮助。我还尝试通过 PostProcessor 在一个字符串中更改编码,但没有结果。
顺便说一句,在 Postman 中,我通过 'Beautify' 部分获得了正常结果。
有人可以帮忙解决这个问题吗?也许有什么大型后处理器的例子可以做到吗?
这取决于您要实现的目标,如果您只需要这些值在其“文本”人类可读表示中,您可以使用 Groovy 的 JsonSlurper
如果您想用未转义的等效项替换原始响应 - 这是另一个 Groovy 的单行代码:
prev.setResponseData(org.apache.commons.lang.StringEscapeUtils.unescapeJava(prev.getResponseDataAsString()),'UTF-8')
将其放入 JSR223 PostProcessor 的“脚本”区域,它将为您解决问题
有关 JMeter 中 Groovy 脚本的更多信息:Apache Groovy - Why and How You Should Use It
我使用脚本将图片上传到网站,它 returns 我所有的书面数据都是 JSON 格式。 我们使用这个应用程序来识别不同文档上的 name/surname,我们也有俄语文档。 然而,JMeter returns 我是这样的:
{
"message": "recognized",
"birth_date": "1993",
"native_name": "\u0406\u042e\u041b\u0414\u0410",
"patronymic": "\u0410\u0410\u0410\u0410\u0410"
}
我也尝试更改 jmeter.properties 和 system.properties 中的编码,但没有帮助。我还尝试通过 PostProcessor 在一个字符串中更改编码,但没有结果。
顺便说一句,在 Postman 中,我通过 'Beautify' 部分获得了正常结果。
有人可以帮忙解决这个问题吗?也许有什么大型后处理器的例子可以做到吗?
这取决于您要实现的目标,如果您只需要这些值在其“文本”人类可读表示中,您可以使用 Groovy 的 JsonSlurper
如果您想用未转义的等效项替换原始响应 - 这是另一个 Groovy 的单行代码:
prev.setResponseData(org.apache.commons.lang.StringEscapeUtils.unescapeJava(prev.getResponseDataAsString()),'UTF-8')
将其放入 JSR223 PostProcessor 的“脚本”区域,它将为您解决问题
有关 JMeter 中 Groovy 脚本的更多信息:Apache Groovy - Why and How You Should Use It