在Zapier Code中返回未解析的字典列表

时间:2018-06-08 01:55:51

标签: python json webhooks zapier

我已经成功创建了从我的表单中读取的代码,触发了表单中有多少经理和成员(公司中的任意角色)。然后它成功创建一个如下所示的数组:

"managers": [
   {
      "full_name": “Manager One“,
      "email": “managerone@gmail.com”,
      "address": “111 Manager St“,
      "city_st_zip": “Manager, Texas 11111”
    }, 
   {
      "full_name": “Manager Two“,
      "email": “managertwo@gmail.com”,
      "address": “222 Manager St“,
      "city_st_zip": “Manager, Texas 22222”
    }
]

代码步骤效果很好,我已经确认它会返回我想要的内容。问题是我需要将它植入一些JSON格式,以便通过webhook发送到其他地方。我期待代码步骤准备好让我只需插入自定义Webhook请求,如下所示:

{
      "name": “ABC Company”,
      "managers": [
       {
          "full_name": “Manager One“,
          "email": “managerone@gmail.com”,
          "address": “111 Manager St“,
          "city_st_zip": “Manager, Texas 11111”
        }, 
       {
          "full_name": “Manager Two“,
          "email": “managertwo@gmail.com”,
          "address": “222 Manager St“,
          "city_st_zip": “Manager, Texas 22222”
        }
      ],
      "members": [
        {
          "full_name": “Member One”,
          "email": “memberone@gmail.com”,
          "address": “111 Member St“,
          "city_st_zip": “Member, Texas 11111”
          "invested": 100,
          "stake": 50
        },
        {
          "full_name": “Member Two”,
          "email": “membertwo@gmail.com”,
          "address": “222 Member St”,
          "city_st_zip": “Member Texas 22222”
          "invested": 100,
          "stake": 50
        }
      ],
      "taxes_manager": “Taxes Manager“,
      "business_purpose": “make money“,
      "principal_office_street": “123 Main St”,
      "principal_office_city_st_zip": “Principal, Texas 78701“,
      "state": "TX",
  }

问题在于Zapier将字典列表解析为单个变量,而不仅仅是给我整个代码块,如下所示

enter image description here

如何根据需要将字典列表插入JSON?

1 个答案:

答案 0 :(得分:1)

David来自Zapier平台团队。好问题!

您有两个主要选择:

  1. 在代码步骤中执行请求。有文档here。这很好,因为功能统计在一起并且很容易排除故障
  2. 不返回managers,而是返回{"payload": json.dumps(managers)},这将返回字符串而不是对象。我们不对字符串进行任何额外处理,因此您可以在另一个步骤中使用它。 注意如果你这样做,下面的步骤必须是自定义请求,而不是POST(因为后者警告不要将原始JSON字符串放在那里,因为我们再次解析它)。
  3. 这两个选项都具有相同的效果,但#2将使您在使用时花费额外的任务。根据您接近极限的程度,这可能也可能无关紧要。

    如果您有任何其他问题,请与我们联系!