json - 通过 Nifi 更新 Json 字段
问题描述
我有一个来自输入端口的这样的 json:
{
"url": "blablabla",
"keyword": "foo"
}
然后我必须生成一个新的 json 来传递给 post call。新的 json 是这样的:
{
"requests": [
{
"source": "blablabla",
"params": {
"keywords": [
"something"
],
"sub-field1": true
}
}
],
"field1": "1",
"field2": "2",
"field3": false
}
其中数组关键字应替换为具有前一个 Json ("foo") 值的新数组。结果是:
{
"requests": [
{
"source": "blablabla",
"params": {
"keywords": [
"foo"
],
"sub-field1": true
}
}
],
"field1": "1",
"field2": "2",
"field3": false
}
然后我必须通过 REST API Post 调用一个函数。
问题是我不知道如何执行字段值的替换
解决方案
尝试使用以下规范的 JoltTransformJSON:
[
{
"operation": "shift",
"spec": {
"url": "requests[0].source",
"keyword": "requests[0].params.keywords[]",
"#1": "requests[0].params.sub-field1"
}
},
{
"operation": "default",
"spec": {
"field1": "1",
"field2": "2",
"field3": false
}
}
]
推荐阅读
- java - Jsp包括不工作:找不到文件,状态500
- php - Disable auto hashing of password while login - Laravel
- amazon-web-services - 修复 Amazon Cognito - 使用 Apple 登录 - “提供了无效状态/中继状态”
- java - Java 处理 Spring Data 本机查询投影中的 NPE
- mysql - 排序顺序 SQL 表
- java - TarArchiveOutputStream 未归档隐藏文件
- node.js - 使用 https 我如何对未定义的状态代码进行条件化?
- c# - Linq to Xml C#在特定元素中查找特定元素
- xcode - Xcode项目中可编辑的Swift包?
- mongodb - $或文档中数组的特定元素的属性