Json字符串与Object、List、Map的互转工具类
packagecom.cq2022.zago.base.util;
importjava.io.FileReader;
importjava.io.FileWriter;
importjava.io.IOException;
importjava.io.StringWriter;
importjava.util.List;
importjava.util.Map;
importorg.codehaus.jackson.JsonFactory;
importorg.codehaus.jackson.JsonGenerationException;
importorg.codehaus.jackson.JsonGenerator;
importorg.codehaus.jackson.JsonNode;
importorg.codehaus.jackson.JsonParseException;
importorg.codehaus.jackson.map.JsonMappingException;
importorg.codehaus.jackson.map.ObjectMapper;
importorg.codehaus.jackson.map.SerializationConfig;
importorg.codehaus.jackson.map.annotate.JsonSerialize;
importcom.alibaba.fastjson.JSONArray;
/**
*Json工具类,实现JSON与JavaBean的互相转换
*/
publicclassJsonUtils{
privatestaticObjectMapperobjectMapper=newObjectMapper();
privatestaticJsonFactoryjsonFactory=newJsonFactory();
static{
objectMapper.configure(SerializationConfig.Feature.WRITE_NULL_MAP_VALUES,false);
objectMapper.setSerializationInclusion(JsonSerialize.Inclusion.NON_NULL);
}
/**
*泛型返回,json字符串转对象
*@paramjsonAsString
*@parampojoClass
*@return
*@throwsJsonMappingException
*@throwsJsonParseException
*@throwsIOException
*/
publicstaticTfromJson(StringjsonAsString,ClasspojoClass)throwsJsonMappingException,
JsonParseException,IOException{
returnobjectMapper.readValue(jsonAsString,pojoClass);
}
publicstaticTfromJson(FileReaderfr,ClasspojoClass)throwsJsonParseException,IOException{
returnobjectMapper.readValue(fr,pojoClass);
}
/**
*Object对象转json
*@parampojo
*@return
*@throwsJsonMappingException
*@throwsJsonGenerationException
*@throwsIOException
*/
publicstaticStringtoJson(Objectpojo)throwsJsonMappingException,JsonGenerationException,IOException{
returntoJson(pojo,false);
}
publicstaticStringtoJson(Objectpojo,booleanprettyPrint)throwsJsonMappingException,JsonGenerationException,
IOException{
StringWritersw=newStringWriter();
JsonGeneratorjg=jsonFactory.createJsonGenerator(sw);
if(prettyPrint){
jg.useDefaultPrettyPrinter();
}
objectMapper.writeValue(jg,pojo);
returnsw.toString();
}
publicstaticvoidtoJson(Objectpojo,FileWriterfw,booleanprettyPrint)throwsJsonMappingException,
JsonGenerationException,IOException{
JsonGeneratorjg=jsonFactory.createJsonGenerator(fw);
if(prettyPrint){
jg.useDefaultPrettyPrinter();
}
objectMapper.writeValue(jg,pojo);
}
/**
*json字符串转Map
*@paramjsonStr
*@return
*@throwsIOException
*/
publicstaticMapparseMap(StringjsonStr)throwsIOException{
Mapmap=objectMapper.readValue(jsonStr,Map.class);
returnmap;
}
publicstaticJsonNodeparse(StringjsonStr)throwsIOException{
JsonNodenode=null;
node=objectMapper.readTree(jsonStr);
returnnode;
}
publicstaticObjectMappergetObjectMapper(){
returnobjectMapper;
}
/**
*json字符串转List对象
*@paramstrjson字符串
*@paramclazz转换的类型
*@return
*/
publicstaticListfromListJson(Stringstr,Classclazz){
returnJSONArray.parseArray(str,clazz);
}
}         
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对毛票票的支持。如果你想了解更多相关内容请查看下面相关链接