在 json NiFi 中提取字段的正则表达式
Regex to extract fields in json NiFi
RegExp 初学者问题。我的 NiFi ExtractText 中有一个 JSON,我想提取 2 个字段。我将如何使用正则表达式来执行此操作?
[
{
"id": "12erf3-312331-233"
},
[
{
"id": "1234",
"id2": "1234",
"id3": "1234"
},
{
"id": "1234",
"id2": "1234",
"id3": "1234"
},
{
"id": "1234",
"id2": "1234",
"id3": "1234"
},
{
"id": "1234",
"id2": "1234",
"id3": "5555"
}
]
]
- 获取第一个id:“12erf3-312331-233”(这是一个uuid)
- 获取所有第二个数组:[{ "id": "1234" ... "id3": "5555" } ]
要实现您的需要,您可以使用 ReplaceText 处理器。看看下面的配置。搜索值将是 (?s).*("id": )(".*").*}.*(\[.*\]).*\]
,替换值:{,data:}
。注意选择 Evaluation Mode 为“Entire text”。
要轻松检查正则表达式,您可以使用 link 我已经使用过:https://regex101.com/r/p6T2Vw/1
RegExp 初学者问题。我的 NiFi ExtractText 中有一个 JSON,我想提取 2 个字段。我将如何使用正则表达式来执行此操作?
[
{
"id": "12erf3-312331-233"
},
[
{
"id": "1234",
"id2": "1234",
"id3": "1234"
},
{
"id": "1234",
"id2": "1234",
"id3": "1234"
},
{
"id": "1234",
"id2": "1234",
"id3": "1234"
},
{
"id": "1234",
"id2": "1234",
"id3": "5555"
}
]
]
- 获取第一个id:“12erf3-312331-233”(这是一个uuid)
- 获取所有第二个数组:[{ "id": "1234" ... "id3": "5555" } ]
要实现您的需要,您可以使用 ReplaceText 处理器。看看下面的配置。搜索值将是 (?s).*("id": )(".*").*}.*(\[.*\]).*\]
,替换值:{,data:}
。注意选择 Evaluation Mode 为“Entire text”。
要轻松检查正则表达式,您可以使用 link 我已经使用过:https://regex101.com/r/p6T2Vw/1