如何将POST请求的JSON请求体封装为API要求的数组格式
表单请求体包裹数组实现方案
问题根因
现有代码中convertFD2JSON方法会将表单数据直接转换为单个JSON对象的序列化字符串,输出结构为顶层对象,和接口要求的「顶层为数组、JSON对象作为数组元素」的格式不匹配。
修复步骤
不需要改动请求头、fetch配置、表单数据读取的任何逻辑,仅需修改convertFD2JSON函数的返回逻辑:将构造完成的表单对象放入数组后,再执行JSON序列化操作即可。
修改完成的转换函数代码
function convertFD2JSON(formData) { let obj = {}; for (let key of formData.keys()) { obj[key] = formData.get(key); } // 核心改动:将表单对象包裹在数组中再做序列化 return JSON.stringify([obj]); }
效果校验
修改后生成的请求体将完全匹配接口期望格式:
[
{
"title": "Example 1",
"job": "Designer A"
}
]
内容的提问来源于stack exchange,提问作者YesCaptain
相关产品推荐
相关产品推荐

