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

Postman用form-data提交嵌套JSON失败、raw模式正常该如何解决?

问题根因
  • 两种请求体模式的传输逻辑完全不同:raw模式下你提交的是完整JSON结构,Postman会自动携带Content-Type: application/json请求头,后端服务会直接将整个请求体解析为JSON对象,嵌套结构、数组都可以被正确识别。
  • form-data默认所有字段值以字符串类型传输:如果你直接把attachments对应的值填为[{"name": "test_attachment"}]这类字符串格式的结构,后端收到的是字符串类型的值,按字典/数组解析时自然会抛出「期望字典但得到字符串」的错误。
解决方案

场景1:无需上传文件

直接使用raw JSON模式提交即可,符合接口设计的默认预期,不需要额外调整。

场景2:必须用form-data上传附件

可任选以下一种方案解决:

  • 方案一:调整字段传值写法(无需修改后端代码)
    按照form-data的嵌套结构规范填写键名,大部分后端框架都可以自动识别解析为对应结构:
    • 普通字段直接填写:title对应值test_title,date对应值2021-12-31
    • 嵌套数组对象按层级写键名:attachments[0].name对应值test_attachment
  • 方案二:后端调整解析逻辑
    你仍按字符串格式传输嵌套字段,后端收到对应字段后,手动对字符串做JSON反序列化转换即可。比如Python后端用json.loads()、Node.js后端用JSON.parse()处理attachments字段的字符串值,就能得到正确的数组结构。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 19:54:03