triggers.new_booking.operation.perform的Zapier结果必须是对象数组

时间:2019-06-13 10:05:59

标签: javascript zapier

我正在为应用程序构建zapier集成。该应用程序返回这样的JSON响应...

{
  result: "Success",
  message: "Showing a total of 1 bookings",
  bookings: {
    42: {
      event: {
        event_name: "Chris's Event",
        event_date_uk: "Saturday 22nd Jun 2019"
      }
    }
  }
}

在我的zapier解析器中,我有以下内容。...

const options = {
  url: bundle.authData.url+`/api/v1/bookings`,
  method: 'GET',
  headers: {
    'Accept': 'application/json'
  },
  params: {
    'key': bundle.authData.api_key,
    'secret': bundle.authData.client_secret,
    'booking_id': 42,
    'scope': 'full'
  },
}

return z.request(options)
  .then((response) => {
    response.throwForStatus();
    const results = z.JSON.parse(response.content);

    return results["bookings"];

  });

但是,当我测试时,我得到以下信息。...

triggers.new_booking.operation.perform的结果必须是对象数组。我们得到了{"42": {"event": {"event_name": "Chris's Event", "event_date_uk": "Saturday 22nd Jun 2019"}}}enter image description here

我认为JSON.parse返回了一个对象?从我所看到的,我返回了一个对象数组。我有什么想法我做错了吗?

1 个答案:

答案 0 :(得分:1)

其中包含对象(预订)的数组

{
  "result": "Success",
  "message": "Showing a total of 1 bookings",
  "bookings": [
    {
      "42": {
        "event": {
          "event_name": "Chris's Event",
          "event_date_uk": "Saturday 22nd Jun 2019"
        }
      }
    }
  ]
}

编辑:要访问JSON中的事件属性,请访问bookings.42.event,而在JSON上方的bookings[0].42.event中访问。