与Nifi EvaluateJsonPath by comparing with an Attribute非常相似的问题:
我收到的JSON如下所示:
{
"Resources": null,
"ResourceCategories": [
{
"Id": "abc",
"ServiceId": "def",
"IsActive": true,
"Type": "Room",
"Names": {
"en-GB": "OPT-DOUBLE"
},
...
},
{
"Id": "hij",
"ServiceId": "lmn",
"IsActive": true,
"Type": "TeamArea",
"Names": {
"en-GB": "King Double Room SAMPLE",
"es-ES": "King Double Room",
"et-EE": "King Double Room",
},
...
}
]
}
我正在存储属性数据.defaultLanguage,可以是en-GB、en-US等。
我尝试使用EvaluateJsonPath,方法是:
$.资源类别[*].名称[${数据.默认语言}]
但是因为EvaluateJsonPath不支持表达式语言,所以这不起作用。
我想做的是:
IF Names包含名称与data.defaultLanguage匹配的子架构,则将其值存储为属性。忽略Names架构中的所有其他对象。
感觉如果有某种方法可以将每个Names模式中的所有子模式作为属性名添加,我就可以得到它。
你觉得我该怎么办?谢谢!
1条答案
按热度按时间l7wslrjt1#
将内容传递到属性中并使用jsonPath函数时,这是可能的
Custom text
:data.defaultLanguage
(动态属性):path
(动态属性):Enable DOTALL Mode
:true
Enable Multiline Mode
:true
Enable Unix Lines Mode
:true
json
(动态属性):json-path
(动态属性):