如何在Zoho Deluge中将JSON响应除LineItems外的键值对复制到Map
Zoho Deluge批量提取API响应中除LineItems外的字段到Map
需求场景
我正在实现Zoho CRM编辑后的发票同步至财务软件的功能,核心需求是仅更新LineItems,其余发票详情直接使用财务软件API返回的信息。通过GET请求拿到财务软件的发票JSON响应后,希望批量将响应中除LineItems外的所有键值对复制到Zoho Deluge Map中,避免手动逐个添加键值对。
解决方案
在Zoho Deluge中,可以通过遍历API响应的所有键,跳过指定的LineItems字段,将其余字段批量存入Map。无需复杂的字符串操作,代码简洁高效:
// 假设apiResponse是从财务软件GET请求获取到的JSON对象 invoiceMap = Map(); // 获取响应对象的所有键集合 allResponseKeys = apiResponse.keys(); // 遍历所有键,筛选并复制非LineItems的字段 for each key in allResponseKeys { if (key != "LineItems") { invoiceMap.put(key, apiResponse.get(key)); } } // 后续可使用invoiceMap进行发票更新操作 // info invoiceMap; // 如需调试可取消注释
代码说明
- 初始化Map:创建空的
invoiceMap用于存储目标字段。 - 获取所有键:通过
apiResponse.keys()方法自动获取响应JSON的全部键,无需提前知晓字段名称。 - 遍历筛选:逐个检查键名,跳过
LineItems,将其他键值对通过put()方法存入目标Map。 - 扩展性:如果需要排除其他字段,只需在
if条件中追加判断,例如if (key != "LineItems" && key != "_links")。
内容的提问来源于stack exchange,提问作者JennyM
相关产品推荐
相关产品推荐

