apache-nifi - 如何使用 Jolt 组合两个数组来创建键值对?
问题描述
我已经创建了一个规范来将我的 JSON 转换为:
{
"rows" : [ {
"row" : [ "row1", "row2", "row3" ],
"header" : [ "header1", "header2", "header3" ]
}, {
"row" : [ "row4", "row5", "row6" ],
"header" : [ "header1", "header2", "header3" ]
} ]
}
我正在努力将其转换为键值对,我想要的输出是:
{
"header1" : "row1",
"header2" : "row2",
"header3" : "row3",
"header4" : "row4",
"header5" : "row5",
"header6" : "row6"
}
使用 Jolt 可以做到这一点吗?
解决方案
您的输入中是否存在复制/粘贴错误?根据您想要的输出判断,第二个对象的header
数组应该是["header4", "header5", "header6"]
. 如果是这样的话,这个规范应该可以工作:
[
{
"operation": "shift",
"spec": {
"rows": {
"*": {
"header": {
"*": {
"*": {
"@(3,row[#2])": "&"
}
}
}
}
}
}
}
]
推荐阅读
- elasticsearch - Elasticsearch 7 - 在没有异常值的情况下获得第 95 个百分位
- pandas - 对于 Netezza,如何只能使用 sqlalchemy 默认的“TIMESTAMP WITHOUT TIME ZONE”以外的“TIMESTAMP”数据类型?
- python - 创建 seaborn 热图时“无法将字符串转换为浮点数”ValueError
- mongodb - 在 mongodb 中查找嵌套数组对象中存在的重复字段名称记录
- r - 对于每一行,返回特定数字的多列索引
- c# - 嵌套的 if 语句在没有 else 语句的情况下正确运行,但是当添加 else 语句时,它会跳过我的 if
- c# - SQLite 是否支持表值参数?
- python - 在makefile中运行python脚本不起作用
- javascript - Express JS TypeError: Cannot read properties of undefined (reading '0') SQL query error
- ssl - 双向 TLS 身份验证中的飞行 CA 证书