加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

json字符串与Object、List、Map的互转工具类

发布时间:2020-12-15 03:22:13 所属栏目:Java 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.io.StringWriter; import java.util.List; import

以下代码由PHP站长网 52php.cn收集自互联网

现在PHP站长网小编把它分享给大家,仅供参考

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);  
    }  
  
}  

以上内容由PHP站长网【52php.cn】收集整理供大家参考研究

如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读