话不多说,上代码:
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import lombok.extern.slf4j.Slf4j;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* Json工具类
*
* @author: liuy
* @since: 2020/7/10 9:25
*/
@Slf4j
public class JsonUtil {
/**
* 解析json节点的值
* @param json
* @param attrs "aa.bb.cc"
* @return
*/
public static String getJsonNodeValue(String json, String attrs) {
ObjectMapper mapper = new ObjectMapper();
//JSON ----> JsonNode
JsonNode node = null;
try {
node = mapper.readTree(json);
} catch (JsonProcessingException e) {
log.error("json parse jsonNode false!");
}
int index = attrs.indexOf('.');
if (index == -1) {
if (node != null && node.get(attrs) != null) {
return node.get(attrs).asText();
}
return "";
} else {
String s1 = attrs.substring(0, index);
String s2 = attrs.substring(index + 1);
return getJsonNodeValue(node.path(s1).toString(), s2);
}
}
}