从 json 接收器中删除空值和空值到 blob 存储

Remove Null and empty values from json sink to blob storage

我正在使用 Azure 数据流从 Azure SQL 数据库读取记录作为源,修改它并作为 json 文件写入 blob 存储。我只需要 JSON.

中的非空值和 -null 值

所以,如果源记录如下:

CustomerID, contact, age
10000, null, 45
10001, "", 35
10002, "7805289894", 38

JSON 应该是这样的:

[{"CustomerID": 10000, "age": 45}, {"CustomerID": 10001, "age": 35}, {"CustomerID": 10002, "contact": "7805289894", "age": 38}]

我们如何在 Azure 数据流中实现这一点?

请帮忙解决这个问题。

我创建了一个简单的测试,我想结果就是你想要的:

  1. 来源是 Azure SQL。当我们将文件接收到 json 格式时,Azure 数据流将自动过滤 Null 属性。所以在DerivedColumn1activity中,我们可以使用表达式case(length(contact)==0, toString(null()), contact)''转换为null

  2. DerivedColumn1activity之后,我们可以看到非空值和空值被转换为空值。

  3. 调试结果如下: