如何在 Zoho CRM Deluge 脚本中使用 for each 循环遍历 JSON 数组
Posted
技术标签:
【中文标题】如何在 Zoho CRM Deluge 脚本中使用 for each 循环遍历 JSON 数组【英文标题】:How to loop through a JSON array using for each in Zoho CRM Deluge script 【发布时间】:2021-12-27 06:42:27 【问题描述】:**我对如何在 deluge 脚本中声明数组有点困惑。我在网上看到了参考资料,但不知何故我可能没有正确使用这种语法:
x = 列表();
** 这是我的 foreach 循环
request_body 正在从我的服务器接收 JSON 数组
我收到一个错误集成函数“zoho.crm.createrecord”在索引 2 行号:15 处的参数类型不匹配
这是我将 JSON 数组发送到 CRM 的代码
async function sendToCRM(pets)
var jsonPets = JSON.stringify(pets)
superagent
.post(insertPet_URL)
.set("Content-Type", "application/json")
.send(jsonPets)
.end((e, r) =>
console.log(r.body)
)// sends a JSON post body
app.post("/pets", (req,res)=>
var pets = req.body
var petsData = []
pets.forEach(function(pet)
var tmp =
tmp["Name"] = pet.Ngalan
tmp["Pet_Owner"] = pet.Tagiya
tmp["Contact_Number"] = pet.Numero
tmp["Birthdate"] = pet.Kaadlawan
tmp["Breed"] = pet.Rasa
petsData.push(tmp)
)
console.log(petsData)
sendToCRM(petsData)
res.send(req.body)
res.status(200)
)
服务器端没有问题,我能够从 Postman 接收这个 JSON 数组,这是我要发送到 CRM deluge 的数组。这是我的 JSON 数组:
["Ngalan":"Hachi","Tagiya":"Rex","Numero":"09778135353","Kaadlawan":"2020-12-12","Rasa":"Akita Inu","Ngalan":"qwe","Tagiya":"Rex","Numero":"09778135353","Kaadlawan":"2020-12-12","Rasa":"Akita Inu"]
任何帮助将不胜感激。谢谢!
【问题讨论】:
zoho.com/deluge/help/crm/create-record.html#Syntaxrecord_details
应该是键值类型,你可能只传递值。
谢谢!但由于我的 JSON 是一个对象数组,知道如何使用 foreach 循环它们吗?我没有在网上找到任何关于此的资源。
对于x
,您应该使用Map
而不是List
。并在其中存储键值对。像x = map()
,x.put("PetName", request_body.get("Pet_Name"))
非常感谢!我按照你说的做了,但是我的服务器端出现错误参数类型不匹配 - 找到'TEXT',但函数'get'需要'[BIGINT]' .我还将pet_data = List();
更改为pet_data = Map();
,因为我在CRM 上也遇到了相同的错误
基本上,x
应该是一个键值类型。不知道什么是合适的类型。
【参考方案1】:
制作 request_body.tojsonlist()。然后就可以了
【讨论】:
以上是关于如何在 Zoho CRM Deluge 脚本中使用 for each 循环遍历 JSON 数组的主要内容,如果未能解决你的问题,请参考以下文章
ZOHO deluge 脚本 getUrl() 函数可以读取 HTTP 响应标头吗?
Zoho Creator Deluge InvokeUrl:如何将表单参数传递给第三方表单?
基于 deluge 中的多选下拉菜单从 zoho creator 搜索记录
Zoho Deluge:在决定使用地图、列表或集合的数据结构时要考虑哪些标准?