Quickbase Pipelines:如何用Jinja提取嵌套JSON数组至多选文本字段?
处理Quickbase Pipelines中嵌套JSON数组到多选文本字段的解析问题
我正在使用Quickbase Pipelines从REST API拉取数据并保存至表格,流水线流程如下:
- B. 获取JSON
- C. 准备批量记录更新插入
- D. 遍历JSON记录
针对每个JSON对象执行:- E. 添加批量更新插入行
- F. 提交更新插入
在「添加批量更新插入行」步骤中,我将表格字段映射至传入JSON记录的属性。
我在处理JSON记录中的custom_fields时遇到了问题,这些字段并非简单的"key": "value"键值对,而是嵌套在数组中,示例如下:
"custom_fields": [ { "key": "street", "value": "foo", }, { "key": "city", "value": "bar", }, { "key": "state", "value": "baz", } ]
我已通过以下Jinja代码块在更新插入步骤中按key提取特定值:
{% for field in d.custom_fields %} {% if field['key'] == 'street' %} {{ field['value'] }} {% endif %} {% endfor %}
此方法对Text类型字段有效,但尝试将JSON数组值提取至Multi-Select Text类型字段时失效。
当我使用上述类似的Jinja代码块解析以下JSON时:
"custom_fields": [ { "key": "choices", "value": [ "foo", "bar", "baz" ], } ]
多选文本字段中得到的是这三个值:[u'foo'、u'bar'和u'baz']。看起来Quickbase/Jinja将JSON中的值解析为字面量字符串而非数组。
更新: 查看流水线活动日志后发现,QB从实际JSON生成的JSON Object中,该值为"[u'foo', u'bar', u'baz']"——一个字符串,这解释了表格字段中出现的异常值。这会不会是一个bug?
我还发现同一个JSON Object在raw_record属性下有一个副本,其中该值为正常的['foo', 'bar', 'baz'],但我无法在Jinja模板中使用raw_record。
我的问题是:如何将上述JSON值转换为正确的选项:foo、bar和baz?
内容的提问来源于stack exchange,提问作者urig
相关产品推荐
相关产品推荐

