package com.cq2022.zago. .util;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.StringWriter;
import java.util.List;
import java.util.Map;
import org.codehaus.jackson.JsonFactory;
import org.codehaus.jackson.JsonGenerationException;
import org.codehaus.jackson.JsonGenerator;
import org.codehaus.jackson.JsonNode;
import org.codehaus.jackson.JsonParseException;
import org.codehaus.jackson.map.JsonMappingException;
import org.codehaus.jackson.map. Mapper;
import org.codehaus.jackson.map.SerializationConfig;
import org.codehaus.jackson.map.annotate.JsonSerialize;
import com.alibaba.fastjson.JSONArray;
/**
* Json工具类,实现JSON与Java Bean的互相转换
*/
public class JsonUtils {
private static Mapper Mapper = new Mapper();
private static JsonFactory jsonFactory = new JsonFactory();
static {
Mapper.configure(SerializationConfig.Feature.WRITE_NULL_MAP_VALUES, false);
Mapper.setSerializationInclusion(JsonSerialize.Inclusion.NON_NULL);
}
/**
* 泛型返回,json字符串转对象
* @param jsonAsString
* @param pojoClass
* @return
* @throws JsonMappingException
* @throws JsonParseException
* @throws IOException
*/
public static <T> T fromJson(String jsonAsString, Class<T> pojoClass) throws JsonMappingException,
JsonParseException, IOException {
return Mapper.readValue(jsonAsString, pojoClass);
}
public static <T> T fromJson(FileReader fr, Class<T> pojoClass) throws JsonParseException, IOException {
return Mapper.readValue(fr, pojoClass);
}
/**
* 对象转json
* @param pojo
* @return
* @throws JsonMappingException
* @throws JsonGenerationException
* @throws IOException
*/
public static String toJson( pojo) throws JsonMappingException, JsonGenerationException, IOException {
return toJson(pojo, false);
}
public static String toJson( pojo, boolean prettyPrint) throws JsonMappingException, JsonGenerationException,
IOException {
StringWriter sw = new StringWriter();
JsonGenerator jg = jsonFactory.createJsonGenerator(sw);
if (prettyPrint) {
jg.useDefaultPrettyPrinter();
}
Mapper.writeValue(jg, pojo);
return sw.toString();
}
public static void toJson( pojo, FileWriter fw, boolean prettyPrint) throws JsonMappingException,
JsonGenerationException, IOException {
JsonGenerator jg = jsonFactory.createJsonGenerator(fw);
if (prettyPrint) {
jg.useDefaultPrettyPrinter();
}
Mapper.writeValue(jg, pojo);
}
/**
* json字符串转Map
* @param jsonStr
* @return
* @throws IOException
*/
public static Map<String, > parseMap(String jsonStr) throws IOException {
Map<String, > map = Mapper.readValue(jsonStr, Map.class);
return map;
}
public static JsonNode parse(String jsonStr) throws IOException {
JsonNode node = null;
node = Mapper.readTree(jsonStr);
return node;
}
public static Mapper get Mapper() {
return Mapper;
}
/**
* json字符串转 List对象
* @param str json字符串
* @param clazz 转换的类型
* @return
*/
public static <T> List<T> fromListJson(String str,Class<T> clazz){
return JSONArray.parseArray(str, clazz);
}
}
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。如果你想了解更多相关内容请查看下面相关链接
继续阅读与本文标签相同的文章
上一篇 :
GPU 高性能计算,加速脑与认知科学发展
下一篇 :
计算机编程新人入行指导
-
SQL 中 Left Join 转为 Inner Join 的实际应用
2026-05-19栏目: 教程
-
82天突破1000star,项目团队梳理出软件开源必须注意的8个方面
2026-05-19栏目: 教程
-
是真“开发者”,就来一“测”到底!
2026-05-19栏目: 教程
-
山西晋城携手阿里构建城市云平台,66个政务系统已上云
2026-05-19栏目: 教程
-
阿里云物联网平台设备升级OTA演示
2026-05-19栏目: 教程
