NIFI:使用EvaluateJsonPath处理器从JSON数组中提取特定值?
我有以下内容,我想从包含NIFI:使用EvaluateJsonPath处理器从JSON数组中提取特定值?,json,apache-nifi,Json,Apache Nifi,我有以下内容,我想从包含所有UpdateCounter的上下文值中提取3。以下是我尝试过的,但没有成功: $.counters.aggregateSnapshot.counters.[context=="All UpdateCounter\'s"].valueCount 可能的NIFI表达式是什么?1-SplitJson -关于$.Conters 2-评估JSONPATH $.id $.context $.name $.valueCount 美元价值 3-路由属性 路线规则: ${contex
所有UpdateCounter
的上下文值中提取3
。以下是我尝试过的,但没有成功:
$.counters.aggregateSnapshot.counters.[context=="All UpdateCounter\'s"].valueCount
可能的NIFI表达式是什么?1-SplitJson
-关于$.Conters
2-评估JSONPATH
$.id
$.context
$.name
$.valueCount
美元价值
3-路由属性
路线规则:
${context:contains('All UpdateCounter')}
或
${context:equals('All UpdateCounter')}
4-提取文本-如果您希望它像csv一样
${id}、${context}、${name}、${valueCount}、${value}尽管这是一个老问题,但未来的读者可能会受益:那怎么办?它只使用一个处理器并返回您需要的: 颠簸变换DSL:Shift 颠簸规范:
[
{
"operation": "shift",
"spec": {
"counters": {
"aggregateSnapshot": {
"counters": {
"*": {
"*": {
"context": {
"All UpdateCounter's": {
"@3": "results"
}
}
}
}
}
}
}
}
}
]
结果:
{
"results" : {
"9" : {
"id" : "xxxxxxx",
"context" : "All UpdateCounter's",
"name" : "flag",
"valueCount" : 3,
"value" : "3"
}
}
}
使用以下设置进行测试(web应用程序不允许我永久链接示例,因此这里有一张图片):