json字符串与Object、List、Map的互转工具类
发布时间:2020-05-28 22:08:56 所属栏目:Java 来源:互联网
导读:json字符串与Object、List、Map的互转工具类
|
下面是脚本之家 jb51.cc 通过网络收集整理的代码片段。 脚本之家小编现在分享给大家,也给大家做个参考。 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.ObjectMapper;
import org.codehaus.jackson.map.SerializationConfig;
import org.codehaus.jackson.map.annotate.JsonSerialize;
import com.alibaba.fastjson.JSONArray;
/**
* Json工具类,实现JSON与Java Bean的互相转换
* User: shijing
* <span style="font-family: Arial,Helvetica,sans-serif;">2015年4月3日上午10:42:19</span>
*/
public class JsonUtils {
private static ObjectMapper objectMapper = new ObjectMapper();
private static JsonFactory jsonFactory = new JsonFactory();
static {
objectMapper.configure(SerializationConfig.Feature.WRITE_NULL_MAP_VALUES,false);
objectMapper.setSerializationInclusion(JsonSerialize.Inclusion.NON_NULL);
}
/**
* 泛型返回,json字符串转对象
* 2015年4月3日上午10:42:19
* auther:shijing
* @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 objectMapper.readValue(jsonAsString,pojoClass);
}
public static <T> T fromJson(FileReader fr,Class<T> pojoClass) throws JsonParseException,IOException {
return objectMapper.readValue(fr,pojoClass);
}
/**
* Object对象转json
* 2015年4月3日上午10:41:53
* auther:shijing
* @param pojo
* @return
* @throws JsonMappingException
* @throws JsonGenerationException
* @throws IOException
*/
public static String toJson(Object pojo) throws JsonMappingException,JsonGenerationException,IOException {
return toJson(pojo,false);
}
public static String toJson(Object pojo,boolean prettyPrint) throws JsonMappingException,IOException {
StringWriter sw = new StringWriter();
JsonGenerator jg = jsonFactory.createJsonGenerator(sw);
if (prettyPrint) {
jg.useDefaultPrettyPrinter();
}
objectMapper.writeValue(jg,pojo);
return sw.toString();
}
public static void toJson(Object pojo,FileWriter fw,IOException {
JsonGenerator jg = jsonFactory.createJsonGenerator(fw);
if (prettyPrint) {
jg.useDefaultPrettyPrinter();
}
objectMapper.writeValue(jg,pojo);
}
/**
* json字符串转Map
* 2015年4月3日上午10:41:25
* auther:shijing
* @param jsonStr
* @return
* @throws IOException
*/
public static Map<String,Object> parseMap(String jsonStr) throws IOException {
Map<String,Object> map = objectMapper.readValue(jsonStr,Map.class);
return map;
}
public static JsonNode parse(String jsonStr) throws IOException {
JsonNode node = null;
node = objectMapper.readTree(jsonStr);
return node;
}
public static ObjectMapper getObjectMapper() {
return objectMapper;
}
/**
* json字符串转 List对象
* 2015年4月2日上午10:22:20
* auther:shijing
* @param str json字符串
* @param clazz 转换的类型
* @return
*/
public static <T> List<T> fromListJson(String str,Class<T> clazz){
return JSONArray.parseArray(str,clazz);
}
}
以上是脚本之家(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。 如果觉得脚本之家网站内容还不错,欢迎将脚本之家网站推荐给程序员好友。 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
热点阅读
