对FastJson的封装Util

/**

* FastJson常用帮助类

* @author huangxincheng

*

*/

public class FastJsonUtil {

private static final SerializeConfig CONFIG = new SerializeConfig();

private static final String FORMAT_TIME = "yyyy-MM-dd HH:mm:ss";

private static final String FORMAT_DATE = "yyyy-MM-dd";

private static final SerializerFeature[] FEATURES = {

SerializerFeature.WriteMapNullValue,

SerializerFeature.WriteDateUseDateFormat,

SerializerFeature.WriteNullListAsEmpty

};

// WriteMapNullValue

// WriteDateUseDateFormat

static {

CONFIG.put(Date.class, new SimpleDateFormatSerializer(FORMAT_TIME));

}

public static <T> T parseObject(String json, Class<T> clazz) {

try {

T t = JSON.parseObject(json, clazz);

return t;

} catch (Exception e) {

e.printStackTrace();

}

return null;

}

public static <T> List<T> parseList(String json, Class<T> clazz) {

try {

List<T> list = JSON.parseArray(json, clazz);

return list;

} catch (Exception e) {

e.printStackTrace();

}

return null;

}

/**

* 某人转为yyyy-MM-dd HH:mm:ss格式

* @param object

* @return

*/

public static String toJson(Object object) {

try {

String json = JSON.toJSONString(object, CONFIG, FEATURES);

return json;

} catch (Exception e) {

e.printStackTrace();

}

return null;

}

public static JSONObject getAsJSONObjectFromObject(String json, String key) {

try {

JSONObject jsonObject = JSON.parseObject(json);

return jsonObject.getJSONObject(key);

} catch (Exception e) {

e.printStackTrace();

}

return null;

}

public static JSONArray getAsJSONArrayFromObject(String json, String key) {

try {

JSONObject jsonObject = JSON.parseObject(json);

return jsonObject.getJSONArray(key);

} catch (Exception e) {

e.printStackTrace();

}

return null;

}

public static String getAsStringFromObject(String json, String key) {

try {

JSONObject jsonObject = JSON.parseObject(json);

return jsonObject.getString(key);

} catch (Exception e) {

e.printStackTrace();

}

return null;

}

public static Integer getAsIntegerFromObject(String json, String key) {

try {

JSONObject jsonObject = JSON.parseObject(json);

return jsonObject.getInteger(key);

} catch (Exception e) {

e.printStackTrace();

}

return null;

}

public static Long getAsLongFromObject(String json, String key) {

try {

JSONObject jsonObject = JSON.parseObject(json);

return jsonObject.getLong(key);

} catch (Exception e) {

e.printStackTrace();

}

return null;

}

public static Double getAsDoubleFromObject(String json, String key) {

try {

JSONObject jsonObject = JSON.parseObject(json);

return jsonObject.getDouble(key);

} catch (Exception e) {

e.printStackTrace();

}

return null;

}

public static Boolean getAsBooleanFromObject(String json, String key) {

try {

JSONObject jsonObject = JSON.parseObject(json);

return jsonObject.getBoolean(key);

} catch (Exception e) {

e.printStackTrace();

}

return null;

}

public static Short getAsShortFromObject(String json, String key) {

try {

JSONObject jsonObject = JSON.parseObject(json);

return jsonObject.getShort(key);

} catch (Exception e) {

e.printStackTrace();

}

return null;

}

public static Byte getAsByteFromObject(String json, String key) {

try {

JSONObject jsonObject = JSON.parseObject(json);

return jsonObject.getByte(key);

} catch (Exception e) {

e.printStackTrace();

}

return null;

}

public static <T> T getAsObjectFromObject(String json, String key, Class<T> clazz) {

try {

JSONObject jsonObject = JSON.parseObject(json);

return jsonObject.getObject(key, clazz);

} catch (Exception e) {

e.printStackTrace();

}

return null;

}

public static <T> List<T> getAsListFromObject(String json, String key, Class<T> clazz) {

try {

JSONObject jsonObject = JSON.parseObject(json);

JSONArray jsonArray = jsonObject.getJSONArray(key);

return jsonArray.toJavaList(clazz);

} catch (Exception e) {

e.printStackTrace();

}

return null;

}

public static <T> T  toJavaObject(JSONObject jsonObject, Class<T> clazz) {

try {

T t = jsonObject.toJavaObject(clazz);

return t;

} catch (Exception e) {

e.printStackTrace();

}

return null;

}

public static <T> List<T> toJavaList(JSONArray jsonArray, Class<T> clazz) {

try {

List<T> list = jsonArray.toJavaList(clazz);

return list;

} catch (Exception e) {

e.printStackTrace();

}

return null;

}

public static JSONObject parseJSONObject(Object object) {

try {

return JSON.parseObject(toJson(object));

} catch (Exception e) {

e.printStackTrace();

}

return null;

}

public static JSONArray parseJSONArray(Object object) {

try {

return JSON.parseArray(toJson(object));

} catch (Exception e) {

e.printStackTrace();

}

return null;

}

//解决泛型问题 不能强制转换的方法

public static <T> T generateAssignObject(Object source, Class<T> clazz) {

try {

T t = toJavaObject(parseJSONObject(source), clazz);

return t;

} catch (Exception e) {

e.printStackTrace();

}

return null;

}

//解决泛型问题 不能强制转换的方法

public static <T> List<T> generateAssignList(Object source, Class<T> clazz) {

try {

List<T> list = toJavaList(parseJSONArray(source), clazz);

return list;

} catch (Exception e) {

e.printStackTrace();

}

return null;

}

}

时间: 2024-08-30 23:21:44

对FastJson的封装Util的相关文章

Android JSON、GSON、FastJson的封装与解析

声明: 1.本帖只提供代码,不深入讲解原理.如果读者想要深入了解,那就不要在这个帖子上浪费时间了 2.客户端用的是Google官方的Volley访问服务器,具体了解Volley请戳 这里 3.本帖三种数据解析的DEMO都用到了下面这个Person类,贴出来: 1 public class Person { 2 private String name; 3 private int age; 4 private String address; 5 6 public Person() { 7 8 }

JDK1.8 LocalDate 使用方式;LocalDate 封装Util,LocalDate工具类

未完待续 ........ 由于SimpleDateFormat存在线程安全问题,所以在JDK1.8中使用LocalDate和LocalDateTime来进行日期的工具类使用,下边就是原创的LocalDateUtil封装 1.localDate格式化年月日为字符串 2.localDateTime格式化年月日时分秒为字符串 3.localDate时区格式化年月日为字符串 4.localDateTime时区格式化年月日为字符串 5.localDate 转 LocalDate 6.localDateT

校园商铺-4店铺注册功能模块-3thumbnailator图片处理和封装Util

1. 初步使用thumbnailator 1.1 下载依赖 <!-- https://mvnrepository.com/artifact/net.coobird/thumbnailator --> <dependency> <groupId>net.coobird</groupId> <artifactId>thumbnailator</artifactId> <version>0.4.8</version>

JDK1.8 LocalDate 使用方式;LocalDate 封装Util,LocalDate工具类(一)

未完待续 ........ 由于SimpleDateFormat存在线程安全问题,所以在JDK1.8中使用LocalDate和LocalDateTime来进行日期的工具类使用,下边就是原创的LocalDateUtil封装 <阿里巴巴开发手册1.4> 1.localDate格式化年月日为字符串 2.localDateTime格式化年月日时分秒为字符串 3.localDate时区格式化年月日为字符串 4.localDateTime时区格式化年月日为字符串 5.localDate 转 LocalDa

JDK1.8 LocalDate 使用方式;LocalDate 封装Util,LocalDate工具类(二)

未完待续 ........ java.time.*代替方案 1.Instant 代替 Date2.LocalDateTime 代替 Calendar3.DateTimeFormatter 代替 SimpleDateFormat 一.获取当前日期是星期几/获取任意时间是星期几/获取当前日期是星期几/获取任意时间是星期几 二.获取星期几对应的数字 三.获取今天的最早时间 四.获取本月的最早时间 五.获取今年的最早时间 六.获取今天的最晚时间 七.获取本月的最晚时间 八.获取今年的最晚时间 九.获取今

fastjson是什么东东?

fastjson是一个Java语言编写的高性能功能完善的JSON库.它采用一种"假定有序快速匹配"的算法,把JSON Parse的性能提升到极致,是目前Java语言中最快的JSON库.Fastjson接口简单易用,已经被广泛使用在缓存序列化.协议交互.Web输出.Android客户端等多种应用场景. pom.xml depencency: <!-- https://mvnrepository.com/artifact/com.alibaba/fastjson --><

Json应用案例之FastJson

这几天在网上找关于Json的一些案例,无意当中找到了一个我个人感觉比较好的就是阿里巴巴工程师写的FastJson. package com.jerehedu.fastjson; import java.util.ArrayList; import java.util.Collection; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Vector; import

FastJSON 使用

FastJSON是一个Java语言编写的高性能,功能完善,完全支持http://json.org的标准的JSON库.多了不说了,百度一下一大把. 在此,简单的总结一下自己用过,测试过的方法. 如果使用Maven,在pom.xml文件加入以下依赖. 1 <dependency> 2 <groupId>com.alibaba</groupId> 3 <artifactId>fastjson</artifactId> 4 <version>

fastjson转化复杂javabean

package json.fastjson; import java.util.ArrayList;import java.util.List; import com.alibaba.fastjson.JSON;import com.alibaba.fastjson.JSONObject;import com.alibaba.fastjson.serializer.SerializerFeature; public class Fastjson2JavaBean {    public stat