You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

能否在Splunk中使用eval创建字典/JSON类对象?代码可行性咨询

关于Splunk中创建字典类型字段的写法验证

这种直接用{"value":"True","time":_time}格式定义字典类型字段的写法,在Splunk SPL里是不被原生支持的。

Splunk的字段默认只支持字符串、数字、布尔这类基础数据类型,没有内置的字典(键值对结构)类型。你写的这条eval语句执行后,publishedToIntegrator字段会变成一个JSON格式的字符串,而不是能直接进行键值操作的字典对象。

如果需要实现类似需求,可以参考两种方案:

  1. 保留字符串形式的JSON,后续用spath命令解析字段
    修正后的语句(注意转义引号):

    | eval publishedToIntegrator=if(raw!="", "{\"value\":\"True\",\"time\":"._time."}", "{\"value\":\"False\",\"time\":null}")
    | spath input=publishedToIntegrator output=pt_value path=value
    | spath input=publishedToIntegrator output=pt_time path=time
    

    这样就能从JSON字符串里提取出pt_value和pt_time两个单独字段进行后续操作。

  2. 直接创建多个独立字段(更符合Splunk的使用习惯)
    不需要用字典结构,分开定义字段更直观:

    | eval published_value=if(raw!="", "True", "False"), published_time=if(raw!="", _time, null())
    

内容的提问来源于stack exchange,提问作者Kshitij Kohli

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 07:07:11