json - 在nifi jolt中将对应于数组的空值转换为空数组
问题描述
我想在 NIFI 中使用 Jolt 处理器实现以下 JSON 转换通过关注值字段,在 json 的第一个输入(id 900551)中,值填充如下
输入 JSON
{
"id": 900551,
"internal_name": [],
"values": [
{
"id": 1430156,
"form_field_id": 900551,
"pos": 0,
"weight": null,
"category": null,
"created_at": "2020-10-15 12:55:02",
"updated_at": "2020-11-27 10:45:09",
"deleted_at": null,
"settings": {
"image": "myimage.png"
"fix": false,
"bold": false,
"exclusive": false
},
"internal_value": "494699DV7271000,6343060SX0W1000,619740BWR0W1000",
"css_class": null,
"value": "DIFFERENCE",
"settings_lang": {},
"value_html": ""
}
]
}
在要解析的第二个输入 Json 文件上,值为 null。
{
"id": 900552,
"internal_name": [],
"values": []
}
我想在我的转换中将空值转换为空数组
有没有办法使用现有的 Jolt 操作来做到这一点?
谢谢。
解决方案
该default
操作是您正在寻找的:
Defaultr 遍历规范并询问“这是否存在于数据中?如果不存在,请添加它。”
在我们的例子中:
如果
"values"
key 的值为null
,则改为放置空数组
这是规格:
[
{
"operation": "default",
"spec": {
"values": []
}
}
]
使用https://jolt-demo.appspot.com/测试
编辑:从评论中回答问题:
也许这种解决方法对您有用
推荐阅读
- laravel - 如何渴望加载多态关系的不同嵌套关系?
- google-cloud-platform - 如何在谷歌云上部署播放应用程序
- c# - 将字段添加到 ac# 嵌入式不和谐消息
- java - 如何用数组更新表中的行
- javascript - 为什么执行 Get 后会收到 12031 错误消息
- python - 有没有办法在 DataFrame 中找到子字符串?
- python - 如何过滤 SQLAlchemy 中列的 SQL 查询?
- c - C中的数据类型表示任何指向函数的指针
- javascript - 使用 JavaScript 在外部网站中自动填充表单
- javascript - vscode 更漂亮的插件缺少空格打破了 linter 规则