Zapier 发送 Python JSON 字典并跳过空值

Zapier sending Python JSON dict and skipping null values

从 Limo anywhere 触发器,我在我的 node.js 代码操作中获取值。假设我们从触发器中获得以下值:

null,the four seasons hotel;

Zapier 仅发送代码中的四季酒店。 Zapier 有没有办法获取 rawJSON 并在代码中解析它?

我的代码:

    let rows = "";
    const totalRecords = firstNames.length;
    const toLocations = inputData.to_location.split(",");
    const firstNames = inputData.first_name.split(",");
    const lastNames = inputData.last_name.split(",");
    const pickupDates = inputData.pickup_date.split(",");
    const fromLocations = inputData.from_location.split(",");

    for(let i = 0; i < totalRecords; i++){
       rows += `${firstNames[i]} ${lastNames[i]} ${fromLocations[i]} ${toLocations[i]} ${pickupDates[i]}`;
       if(i !== (totalRecords - 1)){
          rows += ",";
       }
    }

    return {
       rows: rows
    };

以下是上述问题的复杂解法:

  1. 在 Zapier 中创建一个单独的 "Catch Raw Webhook"。
  2. 使用上面 #1 中的 Webhook URL 并将其添加为现有 Limo anywhere 触发器上的 webhook 操作。此 webhook 操作将在 "raw" 参数下将 json 作为 post 发送。选择custom request则method为POST,data pass through为yes。

  3. 在 webhook 触发器后添加一个代码操作来解析 Zapier 中的 Python 字典字符串:

import json, ast
output = {'res': json.dumps(ast.literal_eval(input_data["raw"]))}
  1. 这将为您提供与 Javascript 兼容的 JSON,您可以从这里开始处理数据。

我不得不在 #3 中使用 python 因为原始 JSON 只与 Python 兼容,它看起来像下面这样:

{u'due_date': u'2019-03-22T00:00:00', u'terms': u'due_upon_receipt'}