This repository has been archived on 2025-09-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
galaxy-tsg-olap-log-complet…/src/main/java/com/zdjizhi/utils/json/JsonPathUtil.java

43 lines
1.1 KiB
Java
Raw Normal View History

package com.zdjizhi.utils.json;
import cn.hutool.log.Log;
import cn.hutool.log.LogFactory;
import com.jayway.jsonpath.InvalidPathException;
import com.jayway.jsonpath.JsonPath;
import com.zdjizhi.utils.StringUtil;
import java.util.ArrayList;
/**
* @author qidaijie
* @Package com.zdjizhi.utils.json
* @Description:
* @date 2022/7/1817:19
*/
public class JsonPathUtil {
private static final Log logger = LogFactory.get();
/**
* 通过 josnPath 解析返回TEID数据
*
* @param message json数据
* @param expr 解析表达式
* @return 返回值
*/
public static Long getTeidValue(String message, String expr) {
Long result = null;
try {
if (StringUtil.isNotBlank(message) && StringUtil.isNotBlank(expr)) {
ArrayList<Object> read = JsonPath.parse(message).read(expr);
if (read.size() >= 1) {
result = Long.parseLong(read.get(0).toString());
}
}
} catch (RuntimeException e) {
logger.error("JSONPath parsing json returns Long data exception: " + e);
}
return result;
}
}