我从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) || {}
这里是我的扎普:
大卫在这里,从Zapier平台团队。
你在你想要找到链接,有或者是contact_id
或organisation_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}
的对象之上,或者空白,如果没有在链接的项目要么这些密钥。
你会注意到,我的结构你的代码从你原来的问题相匹配。在更紧密地寻找,我意识到它应该摆在首位工作过。所以,有一个机会,这不会的,因为在你的设置工作的东西。我会更新与设置屏幕的截图你的问题,所以我们可以更加紧密地知道为什么你的代码没有摆在首位的工作。