Splunk - 从嵌套的 JSON 字符串中检索描述

问题描述 投票:0回答:2

我有一些 Splunk 事件,其中包含一个名为

ResponseDetails
的字段。
ResponseDetails
是一个 JSON 对象,它包含一个具有名为
results
的属性的子对象。
results
是具有名为
description
的属性的对象数组。一个例子
ResponseDetails
看起来像这样:

{ {"results":[{"description":"Item was successfully added"}]} }

我只对

description
感兴趣。如何检索
description
results
ResponseDetails
属性的值并将其放入名为“message”的变量中?我尝试了以下但没有成功:

  | spath input=ResponseDetails output=message path=results{}.description

但是,

message
是一个空字符串,上面使用的方法。我做错了什么?

splunk splunk-query
2个回答
0
投票
| spath input=ResponseDetails
| rename ResponseDetails.results{}.description as message
| table message

spath 命令可以将字段提取为 JSON 然后是 table 命令

results 键后面的大括号{} 用于指定我们要匹配results 数组中的所有元素。没有它们,spath 将只匹配结果数组的第一个元素

正如@RichG 在评论中正确指出的那样,更新了代码。


0
投票

试试这个(假设 ResponseDetails 位于事件的根目录)

| spath input=_raw
path=ResponseDetails.results{0}.description
output=message
| table _time message
© www.soinside.com 2019 - 2024. All rights reserved.