You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在JSON请求体中传递HTML页面并避免JSON解析报错?

解决方法

JSON格式要求字符串值中的双引号、反斜杠、换行、制表符等特殊字符必须做转义处理,你直接读取原始HTML内容传入JSON,没有做转义自然会触发解析错误,可选择以下任意一种方案处理:

  • 方案1:直接使用JMeter自带的__escapeJson函数封装文件读取结果
    把你原本的传值写法${__FileToString(page_source.txt,,)}替换为${__escapeJson(${__FileToString(page_source.txt,,)})}即可,函数会自动处理所有JSON非法字符的转义,处理后直接作为JSON键值传递即可。
  • 方案2:通过Groovy脚本预处理内容
    如果你是在脚本中处理文件读取,可使用以下代码转义后存入变量再引用:
    // 读取HTML文件内容
    def rawHtml = new File("page_source.txt").text
    // 转义为合法JSON字符串
    def escapedHtml = groovy.json.StringEscapeUtils.escapeJson(rawHtml)
    // 存入JMeter变量,后续直接引用${escaped_html}即可
    vars.put("escaped_html", escapedHtml)
    
  • 方案3:Base64编码传输
    如果服务端可配合解码,可直接对HTML内容做Base64编码,完全避免JSON格式冲突,JMeter写法为:${__base64Encode(${__FileToString(page_source.txt,,)},)},编码后的内容可直接传入JSON payload。

内容的提问来源于stack exchange,提问作者Ryan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 04:27:05