Java工具类-通用对象转换为Json字符
import com.alibaba.fastjson2.JSONObject;
import java.lang.reflect.Field;
import java.text.SimpleDateFormat;
public class JsonObjectUtlis {
public static <U> JSONObject processEntityToJson(Class<U> clazz, U cla) {
//将传过来的对象进行赋值处理,
//此时u可用来代表传过来的对象(本示意中是Users),
//此时可以用u调用传过来对象的方法
U u = clazz.cast(cla);
//以下是验证此示意中实体类可被操作了
//getDeclaredFields():获得某个类的所有声明的字段,即包括public、private和proteced,但是不包括父类的申明字段。
//.getClass()是一个对象实例的方法,只有对象实例才有这个方法,具体的类是没有的
JSONObject jsonObject = new JSONObject();
for (Field field : u.getClass().getDeclaredFields()) {
//允许获取实体类private的参数信息 field.setAccessible(true);
field.setAccessible(true);
try {
String name = field.getType().getName();
if ("java.util.Date".equals(name) && field.get(u) != null) {
String dateStr = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(field.get(u));
if (dateStr.indexOf("00:00:00") > 0){
dateStr = dateStr.substring(0,10) ;
}
jsonObject.put(field.getName(), dateStr);
}else {
jsonObject.put(field.getName(), field.get(u));
}
} catch (IllegalAccessException e) {
e.printStackTrace();
jsonObject.put("convertJsonStatus",500);
return jsonObject;
}
}
return jsonObject;
}
}
使用例子
JSONObject jsonObject = JsonObjectUtlis.processEntityToJson(JudgeResultSynchronizationMatVO.class, synchronizationVO);
// 第一个参数为对象的Clss类 第二个入参为实际对象
Json判断
判断当前字符串是不是Json字符串,是JSON返回True 否则返回false
public static boolean isjson(String str) {
try {
JSONObject jsonStr = JSONObject.parseObject(str);
return true;
} catch (Exception e) {
return false;
}
}