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

GraphQL转JSON对象失败,请求技术协助

解决GraphQL转JSON请求的问题

问题分析

你当前的转换存在两个核心问题:

  • assets数组里的Asset._idA、Asset._idB未用引号包裹,GraphQL会将其视为未定义标识符,触发语法错误;
  • 你提供的id变量在mutation中没有被引用,属于无效变量,同时未将需要动态传入的参数定义为变量。

正确转换方式

方式1:完全硬编码(无变量)

如果不需要动态传入参数,只需修正assets的格式并确保JSON转义正确:

{
  "query": "mutation createTest { createTest(input: { note:\"test\", assets: [\"Asset._idA\", \"Asset._idB\"], expiration:\"2025-07-02T00:19:19Z\" }) { id } }"
}

注意:将Asset._idA这类值用双引号包裹,同时移除无效的...(JSON字符串中不能保留此类省略符)。

方式2:使用变量(推荐)

如果需要动态传入参数,应先在mutation中定义变量,再在variables字段传入对应值:

# 带变量的mutation定义
mutation createTest($note: String!, $assets: [String!]!, $expiration: DateTime!) {
  createTest(input: { note: $note, assets: $assets, expiration: $expiration }) {
    id
  }
}

对应的JSON请求格式:

{
  "query": "mutation createTest($note: String!, $assets: [String!]!, $expiration: DateTime!) { createTest(input: { note: $note, assets: $assets, expiration: $expiration }) { id } }",
  "variables": {
    "note": "test",
    "assets": ["Asset._idA", "Asset._idB"],
    "expiration": "2025-07-02T00:19:19Z"
  }
}

如果你确实需要传入id变量,请确认你的mutation是否需要该参数(比如是否为更新操作而非创建),创建操作中id通常是返回值而非入参。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 04:16:05