package cn.com.laoying.yly.common.utils;
import com.fasterxml.jackson.core.JsonFactory;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.node.JsonNodeType;
import com.google.gson.Gson;
import com.google.gson.JsonArray;
import com.google.gson.JsonParser;
import java.util.*;
/**
* @author
* @version
* @ClassName CompareJsonUtil.java
* @Description json对比工具类
* @createTime
*/
public class CompareJsonUtil {
/**
* 获取json中的所有key及value
*
* @param json
* @return
* @throws JsonProcessingException
*/
public static StringBuilder jsonConverToStr(String json) throws JsonProcessingException {
JsonFactory factory = new JsonFactory();
ObjectMapper mapper = new ObjectMapper(factory);
JsonNode rootNode = mapper.readTree(json);
Iterator<Map.Entry<String, JsonNode>> fieldsIterator = rootNode.fields();
StringBuilder sbr = new StringBuilder();
while (fieldsIterator.hasNext()) {
Map.Entry<String, JsonNode> field = fieldsIterator.next();
// System.out.println("Key: " + field.getKey()
// + "\tValue:" + field.getValue());
sbr.append(field.getKey() + "-");
//TODO:yly2.0版本暂时递归到所有object中的key,不考虑ARRAY场景
if (field.getValue().getNodeType().equals(JsonNodeType.OBJECT)) {
sbr.append(jsonConverToStr(field.getValue().toString()));
}
}
return sbr;
}
public static List<String>
json工具类获取json结构下指定的元素
最新推荐文章于 2024-06-11 15:27:26 发布