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

Unix下Curl请求中cc[][person][id]参数的JSON格式转换问题

解决Unix下Curl POST请求中JSON多维结构的格式问题

核心问题解析

你之前的错误主要是混淆了JSON里**数组([])和对象({})**的用法,同时请求头存在拼写错误:

  • []用于表示有序的列表集合(比如多个抄送对象)
  • {}用于表示键值对组成的对象(比如每个抄送对象里的person及对应的id)
  • 你之前的Content-Type头写错了,正确值是application/json(少了斜杠会导致API无法正确解析JSON)

正确的JSON结构

对应cc[][person][id]的参数,正确的JSON结构如下:

{
  "subject": "tititi",
  "person": "17813",
  "cc": [
    {
      "person": {
        "id": "13205"
      }
    }
  ]
}
  • cc是一个数组([]),里面每个元素是一个独立的抄送对象({})
  • 每个抄送对象里的person是包含id键值对的子对象

修正后的Curl命令

在Unix Shell中,用单引号包裹JSON内容可以避免双引号转义的麻烦,修正后的完整命令:

curl --globoff -X POST --insecure 'http://host/api/v2/sendMail' \
  -H 'Content-Type: application/json' \
  -d '{
    "subject": "tititi",
    "person": "17813",
    "cc": [
      {
        "person": {
          "id": "13205"
        }
      }
    ]
  }' \
  -H 'Authorization: key 1:MMMEKOEES'

错误原因说明

  • 你之前写的cc:[["person"]]是二维字符串数组,API期望的是包含person对象的数组,因此返回"Unexpected field names: "0""——数组索引0被当成了非法字段
  • "This value should not be blank."是因为错误的结构导致API无法识别必填的cc相关字段,判定为空

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 13:25:02