试图找出一些JavaScript从JSON响应Zapier原始网络挂接触发提取场

问题描述 投票:0回答:1

我从Zapier网络挂接触发原始JSON响应。我正在寻找一种方法,使其容易得到各CUSTOMFIELDS嵌套字段和链接连续扎普步骤。 JSON的身体看起来是这样的:

{"entity":{
  "OPPORTUNITY_ID":22992638,
  "OPPORTUNITY_NAME":"Test 5",
  "PROBABILITY":10,
  "BID_CURRENCY":"USD",
  "BID_TYPE":"Fixed Bid",
  "CATEGORY_ID":6132227,
  "PIPELINE_ID":575195,
  "STAGE_ID":2172640,
  "OPPORTUNITY_STATE":"OPEN",
  "RESPONSIBLE_USER_ID":1689885,
  "OWNER_USER_ID":1689885,
  "DATE_CREATED_UTC":"2019-01-15T21:11:50.28",
  "DATE_UPDATED_UTC":"2019-01-15T21:12:10.92",
  "VISIBLE_TO":"EVERYONE",
  "CUSTOMFIELDS":[{
    "CUSTOM_FIELD_ID":"Tax_Matters_Contact__c",
    "FIELD_VALUE":275224094
  }],
  "TAGS":[],
  "LINKS":[{
    "LINK_ID":199045197,
    "CONTACT_ID":275224094,
    "OPPORTUNITY_ID":22992638
  },
  {
    "LINK_ID":199045198,
    "OPPORTUNITY_ID":22992638,
    "ORGANISATION_ID":130032601
  }
  ]
}}

由于大卫从Zapier,我在代码的步骤运行这个Javascript和它CONTACT_ID的伟大工程,因为这通常是在数组的第一个命令,但它只能找到的organization_ID如果没有CONTACT_ID又名它跳过第一个记录,找到第二个。我猜测它会在数组中列出的第一个,然后不下去,但我不知道为什么它不会迭代到下一个,因为它是仅仅是一个原始网络挂接。任何想法如何得到这个工作?

该阵列提供CONTACT_ID第一和ORGANISATION_ID旁边的记录,如果它存在,但该顺序可以改变/反向或另一个也可出现诸如PROJECT_ID。我想找到他们所有或任何一个代码步骤,以便输出提供了ZAP公司的各个阶段。

const j = JSON.parse(inputData.body)
return j.entity.LINKS.find(l => l.CONTACT_ID || l.ORGANISATION_ID) || {}

这里是我的扎普:

Here's my code step

Here's the results when CONTACT_ID is found in my code

json field zapier
1个回答
0
投票

大卫在这里,从Zapier平台团队。

你在你想要找到链接,有或者是contact_idorganisation_id第一项的评论中提及。这解析JSON并返回对象(如果有的话)匹配

const j = JSON.parse(inputData.entity)
return j.entity.LINKS.find(l => l.CONTACT_ID || l.ORGANISATION_ID) || {}

这将返回{"LINK_ID":199045197, "CONTACT_ID":275224094, "OPPORTUNITY_ID":22992638}的对象之上,或者空白,如果没有在链接的项目要么这些密钥。

你会注意到,我的结构你的代码从你原来的问题相匹配。在更紧密地寻找,我意识到它应该摆在首位工作过。所以,有一个机会,这不会的,因为在你的设置工作的东西。我会更新与设置屏幕的截图你的问题,所以我们可以更加紧密地知道为什么你的代码没有摆在首位的工作。

© www.soinside.com 2019 - 2024. All rights reserved.