美文网首页JSON
kibana watcher json 解析反斜杠 失败 (完

kibana watcher json 解析反斜杠 失败 (完

作者: 偷油考拉 | 来源:发表于2022-01-29 15:09 被阅读0次

在使用webhook告警的过程中,发现json解析不了。分析后,确认是反斜杠\导致的。

json 文件

source.json

{"mailto":["xxx@xxx.com"], "subject":"系统异常汇总", "content":"在 Tools.WebRequestHelper.Submit() 位置 e:\IscnSolu"}

去掉反斜杠,保存为change.json

{"mailto":["xxx@xxx.com"], "subject":"系统异常汇总", "content":"在 Tools.WebRequestHelper.Submit() 位置 e:IscnSolu"}

解析:

[root@VM-99-12-centos ~]# cat source.json |jq
parse error: Invalid escape at line 1, column 139

[root@VM-99-12-centos ~]# cat change.json |jq
{
  "mailto": [
    "yinwenbin@rhassurance.com"
  ],
  "subject": "系统异常汇总",
  "content": "在 Tools.WebRequestHelper.Submit() 位置 e:IscnSolu"
}

解决办法

暂无

  1. 前端处理掉反斜杠
    kibana watcher 处理
"source": "List buckets = ctx.payload.aggregations.error_groups.buckets; for (int i = 0; i < buckets.length; i++) { List exception = buckets[i].sample.hits.hits[0]._source.error.exception; if (exception != null && exception.length > 0) { exception[0].message = exception[0].message.replace('\\\\', '\\\\\\\\').replace('\"', '\\\\\"').replace('<', '&lt;').replaceAll(/[\\u0000-\\u001F\\u007F]/, m->''); }} return ctx.payload;",

可阅读格式:

  "source": 
  "
  List buckets = ctx.payload.aggregations.error_groups.buckets; 
  for (int i = 0; i < buckets.length; i++) 
    { List exception = buckets[i].sample.hits.hits[0]._source.error.exception; 
        if (exception != null && exception.length > 0) 
          { exception[0].message = exception[0].message.replace('\\\\', '\\\\\\\\').replace('\"', '\\\\\"').replace('<', '&lt;').replaceAll(/[\\u0000-\\u001F\\u007F]/, m->''); 
          }
    } 
  return ctx.payload;
  "
  1. 后端解析反斜杠

相关文章

网友评论

    本文标题:kibana watcher json 解析反斜杠 失败 (完

    本文链接:https://www.haomeiwen.com/subject/szrtkrtx.html