新聞中心
這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Json字符串與Object、List、Map的互轉(zhuǎn)工具類
package com.cq2022.zago.base.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.ObjectMapper; import org.codehaus.jackson.map.SerializationConfig; import org.codehaus.jackson.map.annotate.JsonSerialize; import com.alibaba.fastjson.JSONArray; /** * Json工具類,實現(xiàn)JSON與Java Bean的互相轉(zhuǎn)換 */ 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字符串轉(zhuǎn)對象 * @param jsonAsString * @param pojoClass * @return * @throws JsonMappingException * @throws JsonParseException * @throws IOException */ public staticT fromJson(String jsonAsString, Class pojoClass) throws JsonMappingException, JsonParseException, IOException { return objectMapper.readValue(jsonAsString, pojoClass); } public static T fromJson(FileReader fr, Class pojoClass) throws JsonParseException, IOException { return objectMapper.readValue(fr, pojoClass); } /** * Object對象轉(zhuǎn)json * @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, JsonGenerationException, 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, boolean prettyPrint) throws JsonMappingException, JsonGenerationException, IOException { JsonGenerator jg = jsonFactory.createJsonGenerator(fw); if (prettyPrint) { jg.useDefaultPrettyPrinter(); } objectMapper.writeValue(jg, pojo); } /** * json字符串轉(zhuǎn)Map * @param jsonStr * @return * @throws IOException */ public static Map parseMap(String jsonStr) throws IOException { Map 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字符串轉(zhuǎn) List對象 * @param str json字符串 * @param clazz 轉(zhuǎn)換的類型 * @return */ public static List fromListJson(String str,Class clazz){ return JSONArray.parseArray(str, clazz); } }
總結(jié)
我們提供的服務有:成都網(wǎng)站建設、網(wǎng)站設計、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認證、冀州ssl等。為千余家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務,是有科學管理、有技術的冀州網(wǎng)站制作公司
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對創(chuàng)新互聯(lián)的支持。如果你想了解更多相關內(nèi)容請查看下面相關鏈接
文章標題:Json字符串與Object、List、Map的互轉(zhuǎn)工具類
文章地址:http://fisionsoft.com.cn/article/ihcdci.html