You need to enable JavaScript to run this app. 如何使用JSON.stringify提取变量并向API传递符合要求的参数
优惠活动
大模型
产品
解决方案
定价
更多

如何使用JSON.stringify提取变量并向API传递符合要求的参数

实现方法

你当前的代码存在两个核心偏差,直接修复即可:

  • 单引号包裹的字符串里,JS不会自动识别嵌入的变量——你写的'{"emailAddress" : email,"firstName" : name, "question" : text}'会被当成纯文本,最终传出去的就是字面的email、name、text字符串,根本读不到你提前定义的变量值
  • 序列化层级完全搞错了:API要求的sessionInformation属性本身的值,就是一段序列化后的JSON字符串,不是嵌套的普通对象

正确实现逻辑

全程不需要手动拼带转义符的JSON内容,按顺序做两层序列化即可:

  • 先把需要存在sessionInformation里的内容,写成普通的JS对象,直接填入提取的真实变量值
  • 把这个内层对象单独用JSON.stringify转成字符串,作为外层请求对象sessionInformation属性的值
  • 最后对外层的整个请求对象做一次序列化,就完全符合API的格式要求

正确代码示例

// 从现有对象提取变量,注意语句结尾用分号,避免语法报错
const email = some.value;
const name = some.value;
const text = some.value;

// 构造内层待序列化的普通数据对象
const sessionInnerData = {
  emailAddress: email,
  firstName: name,
  question: text
};

// 构造外层请求对象,sessionInformation赋值为内层对象序列化后的字符串
const requestPayload = {
  sessionInformation: JSON.stringify(sessionInnerData)
};

// 对整个外层请求对象做序列化,得到最终传给API的raw值
const raw = JSON.stringify(requestPayload);

运行上述代码得到的raw,解析后和API要求的格式完全一致,且所有特殊字符的转义都由JSON.stringify自动处理,不会出现手动拼字符串导致的引号不匹配、转义遗漏问题。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.11.06 16:36:04