常用Json工具類

引入對應依賴

<dependency>
    <groupId>com.google.code.gson</groupId>
    <artifactId>gson</artifactId>
    <version>2.8.5</version>
</dependency>
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>1.2.54</version>
</dependency>
<dependency>
    <groupId>com.cedarsoft.serialization</groupId>
    <artifactId>jackson</artifactId>
    <version>8.7.0</version>
</dependency>

Json工具類

/**
 * @author innerpeacez
 * @since 2018/12/24
 */
public class JsonUtils {

    private static class FastJsonUtil {
        private static <T> String bean2Json(T obj) {
            return JSON.toJSONString(obj);
        }

        public static <T> T json2Bean(String jsonStr, Class<T> objClass) {
            return JSON.parseObject(jsonStr, objClass);
        }
    }

    private static class GsonUtil {
        private static Gson gson = new GsonBuilder().create();

        private static <T> String bean2Json(T obj) {
            return gson.toJson(obj);
        }

        public static <T> T json2Bean(String jsonStr, Class<T> objClass) {
            return gson.fromJson(jsonStr, objClass);
        }
    }

    private static class JacksonUtil {
        private static ObjectMapper mapper = new ObjectMapper();

        private static <T> String bean2Json(T obj) {
            try {
                return mapper.writeValueAsString(obj);
            } catch (JsonProcessingException e) {
                e.printStackTrace();
                return null;
            }
        }

        private static <T> T json2Bean(String jsonStr, Class<T> objClass) {
            try {
                return mapper.readValue(jsonStr, objClass);
            } catch (IOException e) {
                e.printStackTrace();
                return null;
            }
        }
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章