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

TypeScript如何将SalesForce Apex返回的特殊对象转换为数组?

解决步骤

1. 正确获取对象的键或值

你直接调用requestBody.keys()报错,是因为普通JavaScript对象没有实例方法keys(),必须使用Object的静态方法来获取:

// 获取对象所有键的数组
const keys = Object.keys(requestBody);
// 获取对象所有值的数组
const values = Object.values(requestBody);

2. 解析嵌套的JSON字符串

从你提供的格式来看,请求体对象的键本身是一个JSON字符串(比如示例中的{"thingy":"stuff",...})。先提取这个字符串再解析:

// 假设对象仅包含一个键,提取该JSON字符串
const jsonStr = keys[0];
// 解析为标准JS对象
const parsedObj = JSON.parse(jsonStr);

3. 将解析后的对象转换为数组

根据需求选择转换方式:

  • 转为键值对数组:
const keyValueArray = Object.entries(parsedObj);
// 示例结果:[["thingy", "stuff"], ["otherThing", "moreStuff"], ["notAnActualKey", {random: ""}]]
  • 转为值的数组:
const valueArray = Object.values(parsedObj);
// 示例结果:["stuff", "moreStuff", {random: ""}]
  • 转为键的数组:
const keyArray = Object.keys(parsedObj);
// 示例结果:["thingy", "otherThing", "notAnActualKey"]

4. 排查不确定的结构

如果不清楚请求体的具体层级,可以先打印完整结构确认:

console.log(JSON.stringify(requestBody, null, 2));

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 00:27:26