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

发送含&的字符串时请求Payload截断问题求助

解决方案:Payload因&被截断的问题

这是个很常见的编码处理失误导致的问题,我帮你梳理几个可行的解决思路:

1. 确保请求头和提交格式匹配

大概率是你的请求Content-Type设置不对,导致后端把JSON当成了表单数据(application/x-www-form-urlencoded)来解析——这种格式里&是参数分隔符,不管你写成&还是原始&,都会被当成截断点。

解决办法:

  • 发送请求时,务必设置请求头为:Content-Type: application/json
  • 提交的Payload直接用原始JSON格式,不需要把&转成HTML实体&,比如改成:
    {"English":{"name":"test & test","descpt":"test"},"Telugu":{"name":"test","descpt":"test"}}
    

2. 用JSON原生转义替代HTML实体

如果业务上必须转义&,别用HTML的&,要用JSON的原生转义规则——把&转成\u0026(Unicode转义)。修改后的Payload如下:

{"English":{"name":"test \u0026 test","descpt":"test"},"Telugu":{"name":"test","descpt":"test"}}

这样后端用JSON解析器处理时,会正确识别转义后的&,不会触发截断。

3. 排查后端解析逻辑

如果前面两步都试过还是不行,那问题可能出在后端:

  • 检查后端是否用了表单解析器来处理JSON请求(比如Java里误用@RequestParam而非@RequestBody,Python里用request.form而非request.get_json())
  • 确保后端明确指定了解析请求体的方式为JSON,不要自动降级为表单解析

快速验证方法

用curl发个测试请求,确认格式是否正确:

curl -X POST \
  https://your-api-domain.com/your-endpoint \
  -H "Content-Type: application/json" \
  -d '{"English":{"name":"test & test","descpt":"test"},"Telugu":{"name":"test","descpt":"test"}}'

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 08:51:28