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

WebSocket订阅请求格式化失败,求正确JSON格式写法

正确格式化WebSocket订阅请求字符串的方法

先明确你之前两种写法的问题:

  • 写法一:错误地把"variables":null塞进了query字段的字符串里,导致整个对象结构完全错误,JSON序列化后自然不符合要求。
  • 写法二:把variables设成了字符串"null",但目标里的variables是null值,不是字符串类型。

正确的做法是先构造结构正确的JavaScript对象,再进行序列化:

// 构造正确的查询对象,query可保留换行提升可读性,variables设为null(非字符串)
const queryObj = {
  query: `subscription MySubscription {
    addedNewLocation(number: "123456") {
      id
    }
  }`,
  variables: null
};

// 序列化为JSON字符串,结果与你目标中的"data"内容完全匹配
const queryStr = JSON.stringify(queryObj);

验证后,queryStr会自动将换行符转义为\n、双引号转义为\",最终生成的字符串和你给出的目标格式完全一致。

如果不需要换行,也可以把query写成单行,服务端同样能正常解析:

const queryObj = {
  query: 'subscription MySubscription {addedNewLocation(number: "123456") {id}}',
  variables: null
};
const queryStr = JSON.stringify(queryObj);

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 06:15:19