Azure Data Flow解析含大括号的JSON键返回NULL的技术求助
解决Azure Data Flow中解析含{ }的JSON字段返回NULL的问题
针对JSON键名包含{ }(如{Identifier}、{IsFolder})时,Azure Data Flow无法正确解析返回NULL的问题,以下是无需自定义脚本的内置解决方案:
方法1:用byName()函数在派生列中引用字段
byName()函数支持直接按字段原始名称(含特殊字符)引用,不会将大括号解析为变量:
- 添加派生列活动到数据流
- 新建目标列(例如
Identifier),输入表达式:byName("{Identifier}") - 对
{IsFolder}字段重复操作,表达式:byName("{IsFolder}") - 执行后即可获取对应字段的实际值
方法2:解析JSON时指定显式架构
若数据流中是JSON字符串格式的内容,使用解析JSON活动并手动定义架构:
- 添加解析JSON活动,将输入的JSON字符串列设为“JSON列”
- 在“架构”选项中选择“显式架构”,手动添加字段:
- 字段名填写
{Identifier},匹配原始数据类型(如字符串) - 字段名填写
{IsFolder},类型设为布尔值
- 字段名填写
- 解析后即可正常读取带大括号的字段
方法3:源活动投影中手动指定字段映射
从JSON文件直接读取时,在源活动的投影设置中手动配置:
- 源活动读取JSON文件后,展开
value数组 - 在投影面板中,点击“添加列”,手动设置:
- 输入列:直接填写
{Identifier} - 输出列:自定义命名(如
Identifier)
- 输入列:直接填写
- 同理配置
{IsFolder}字段,绕过自动解析的大括号冲突
内容的提问来源于stack exchange,提问作者Ben Haanstra
相关产品推荐
相关产品推荐

