【问题标题】:Return an unparsed list of dictionaries in Zapier Code在 Zapier Code 中返回未解析的字典列表
【发布时间】:2018-11-18 00:34:00
【问题描述】:

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

"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 将字典列表解析为单个变量,而不是只给我这里显示的整个代码块

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

【问题讨论】:

    标签: python json webhooks zapier


    【解决方案1】:

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

    您有两个主要选择:

    1. 在代码步骤本身中执行请求。有文档here。这很棒,因为功能统计在一起,很容易排除故障
    2. 不是返回managers,而是返回{"payload": json.dumps(managers)},这将返回一个字符串而不是一个对象。我们不对字符串做任何额外的处理,因此您可以在另一个步骤中使用它。 注意,如果你这样做,接下来的步骤需要是自定义请求,而不是 POST(因为后者警告不要将原始 JSON 字符串放在那里,因为我们会再次解析它)。

    这两个选项都具有相同的效果,但 #2 会花费您一项额外的使用任务。这取决于您与限制的接近程度,这可能重要也可能不重要。

    ​如果您还有其他问题,请告诉我!

    【讨论】:

    • 这拯救了我的一天!谢谢大卫!
    • 很高兴我能帮上忙! :)
    猜你喜欢
    • 2018-05-02
    • 2018-08-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多