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

不符合MongoDB与Postman Schema的非标准JSON提交及React生成方案咨询

问题根因

你当前获取的是浏览器DevTools打印的JavaScript对象字面量输出,并非符合RFC 8259规范的标准JSON,不符合要求的核心问题如下:

  • 包含Object、Array这类JS专属的类型标识
  • 数组、对象的最后一个元素后存在多余的尾随逗号
  • 部分字符串值存在换行断裂(比如dateObservation字段的引号被换行拆分)

Postman快速导入使用的方法

无需手动逐行修改,可通过以下两种方案快速转换:

  1. 控制台直接复制标准格式:如果该对象是从Chrome/Edge控制台输出的,右键点击对象,选择「Copy object」,直接粘贴到Postman的Body(raw+JSON格式)输入框中,就是可用的标准JSON
  2. 手动粘贴转换:如果只能拿到你给出的非标准字符串,直接粘贴到Postman的Body输入框后,点击输入框右上角的{}格式化按钮,Postman会自动抹除Object/Array标识、删除多余尾随逗号、修复断裂的字符串,仅需核对少量特殊格式即可直接使用

React端生成规范JSON的方案

无需额外的第三方生成工具,用原生能力即可实现:

  • 如果你用原生fetch发请求,提交前用JSON.stringify()方法序列化待提交的JS对象即可,该方法原生输出符合规范的标准JSON,会自动处理类型标识、尾随逗号、特殊字符转义等问题,示例代码如下:
// 待提交的JS对象
const submitData = {
  VariableRep: ["101-1", "101-2", "101-3"],
  dateObservation: "2020/8/12",
  essaiParcelle: "key1",
  microParcelle: ["101", "102", "201", "202"],
  nameSerie: "Assess",
  nbRepetition: "3",
  variablesUnique: [{
    id: 2,
    title: "Carence en bore - % de surface parcellaire touchée"
  }]
}
// 序列化后作为请求体
fetch('你的MongoDB POST接口地址', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json'
  },
  body: JSON.stringify(submitData)
})
  • 如果你用axios等请求库,直接把JS对象传给请求的data参数即可,库会自动完成序列化生成标准JSON,无需手动处理
  • 若需要提前校验结构是否符合后端Schema要求,可以引入ajv校验库,前端提交前先做格式校验,避免提交后报错

报错参考

报错截图

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 20:36:03