HTTP 400: Invalid JSON payload received. Unknown name "patternProperties" at 'to...

2026年03月10日 11:12 状态: processing

🚨 错误信息

HTTP 400: Invalid JSON payload received. Unknown name "patternProperties" at 'tools[0].function_declarations[3].*.properties[4].value': Cannot find field.

🤖 AI解决方案

报错分析报告

1.错误翻译



原文:Invalid JSON payload received. Unknown name "patternProperties" at 'tools[0].function_declarations[3].*.properties[4].value': Cannot find field.
译文:收到无效的JSON负载。在'tools[0].function_declarations[3].*.properties[4].value'处存在未知名称"patternProperties":找不到该字段。

2. 原因分析


  • 根本原因:发送的JSON数据中包含了目标接口不支持的字段名patternProperties

  • 具体位置tools数组第0个元素的function_declarations第3个子项 → 某对象的properties数组第4个元素 → value字段内存在patternProperties键。

  • 上下文:接口JSON Schema未定义该字段,导致解析失败。

  • 3.解决方案


    删除或替换JSON中patternProperties字段(以常见场景为例):
    json
    {
    "tools": [
    {
    "function_declarations": [
    // ... 其他声明 ...
    {
    // ... 其他属性 ...
    "properties": [
    // ... 前3个属性 ...
    {
    "value": {
    // ❌ 移除或替换以下无效字段
    // "patternProperties": { / 原内容 / },
    "type": "object", // 示例:替换为合法字段
    "required": ["key"]
    }
    }
    ]
    }
    ]
    }
    ]
    }


    4. 预防措施


  • Schema前置验证:使用[JSON Schema Validator](https://www.jsonschemavalidator.net/)或API文档提供的Schema,提前校验JSON合法性。

  • 字段白名单检查:对照接口文档确认允许的字段名,避免引入未定义键(如patternProperties常见于JSON Schema自身,而非业务 payload)。
  • 推荐工具:Postman(请求前Schema验证)、VS Code插件「JSON Schema Validator」。