package com.zdjizhi; import com.jayway.jsonpath.JsonPath; import com.zdjizhi.common.StreamAggregateConfig; import com.zdjizhi.utils.StringUtil; import org.junit.Test; import java.util.Arrays; /** * @author qidaijie * @Package com.zdjizhi * @Description: * @date 2023/1/617:54 */ public class FunctionTest { public static void main(String[] args) { String groupKey = "ETHERNET.IPv4.TCP.UNCATEGORIZED.qq_r2@4"; String protocol = groupKey.substring(0, groupKey.indexOf("@")); System.out.println(protocol); StringBuffer stringBuffer = new StringBuffer(); String appName = "qq_r2"; String[] protocolIds = protocol.split(StreamAggregateConfig.PROTOCOL_SPLITTER); for (String proto : protocolIds) { if (StringUtil.isBlank(stringBuffer.toString())) { stringBuffer.append(proto); System.out.println(stringBuffer.toString()); } else { stringBuffer.append(".").append(proto); if (proto.equals(appName)) { System.out.println(stringBuffer.toString() + "---" + appName); } else { System.out.println(stringBuffer.toString()); } } } } @Test public void JsonPathTest() { String json = "{\"tags\":[{\"tag\":\"device_group\",\"value\":\"group-xxg-7400\"},{\"tag\":\"data_center\",\"value\":\"center-xxg-7400\"}]}"; String expr = "$.tags[?(@.tag=='data_center')].value"; Object read = JsonPath.parse(json).read(expr).toString(); System.out.println(read); } @Test public void SplitTest() { String str = "[.]"; String protocol = "ETHERNET.IPv4.TCP.http.test"; System.out.println(Arrays.toString(protocol.split(str))); String str2 = "\\."; System.out.println(Arrays.toString(protocol.split(str2))); StringBuilder stringBuilder = new StringBuilder(); for (int i = 0; i < protocol.split(str).length - 1; i++) { String value = protocol.split(str)[i]; if (StringUtil.isBlank(stringBuilder.toString())) { stringBuilder.append(value); System.out.println(stringBuilder.toString()); }else { stringBuilder.append(".").append(value); System.out.println(stringBuilder.toString()); } } } }