0
我正在尝试设置与Quickbooks的webhook和测试我使用JSON的示例,他们将发布到webhook。从webhook解析json
的JSON的格式如下:
{
"eventNotifications":[
{
"realmId":"1185883450",
"dataChangeEvent":
{
"entities":[
{
"name":"Customer",
"id":"1",
"operation":"Create",
"lastUpdated":"2015-10-05T14:42:19-0700"
},
{
"name":"Vendor",
"id":"1",
"operation":"Create",
"lastUpdated":"2015-10-05T14:42:19-0700"
}]
}
}]
}
使用JavaScript,我试图解析它一对夫妇的方式,但我一直陷在实体部分。
尝试1: 有了这个尝试,我得到一个错误,说明长度未定义,这导致我尝试下一次尝试。
for (var i = 0; i < req.body.eventNotifications.length; i++) {
// Works fine
realmId.push(req.body.eventNotifications[i].realmId);
for (var j = 0; j < req.body.eventNotifications[i].dataChangeEvent.entities.length; j++) {
// length is undefined
}
}
尝试2: 我没有得到错误如上,但任何事情我尝试访问下面的实体是不确定的。
for (var i = 0; i < req.body.eventNotifications.length; i++) {
// Works fine
realmId.push(req.body.eventNotifications[i].realmId);
for (var j = 0; j < req.body.eventNotifications[i].dataChangeEvent.length; j++) {
// Anything I try to access is undefined
var test = req.body.eventNotifications[i].dataChangeEvent[j].entities.name;
}
}
完美!您能否简要说明为什么/如何运作? –
第一个循环遍历'eventNotifications'数组,为了便于阅读,我在变量'eventNotification'中存储了要在第二个循环中使用的每个'eventNotifications'对象。第二个循环遍历'entitities'数组,您可以直接访问它,因为'dataChangeEvent'是一个对象:'eventNotification.dataChangeEvent.entities'。希望能帮助到你 :) –