Jackson 4 之JsonUtils工具類

2021-10-11 12:12:19 字數 2334 閱讀 6754

(1)jsonutils工具類

/**

* @author: wf

* @create: 2020/10/23 14:53

* @description: json序列化工具

*/public class jsonutils

static

/*** 序列化

* @param obj

* @param * @return

*/public static string encode(t obj)

try catch (exception e) ", obj, e);

return null;}}

/*** 反序列化

* @param json

* @param valuetype

* @param * @return

*/public static t decode(string json, classvaluetype) catch (exception e) , type={}", json, valuetype.getname(), e);}}

return null;

}/**

* 反序列化成list

* @param json

* @param clazz

* @param * @return

*/public static listdecode2list(string json, classclazz) catch (exception var3) ,classtype={}", new object);}}

return null;

}/**

* map轉clazz物件

* @param map

* @param clazz

* @param * @return

*/public static t maptoobject(map map, classclazz) catch (exception e) ,classname={}", json, clazz.getname());

return null;}}

/*** 將jsonobject解析成map

* @param prefix key名稱字首

* @param obj jsonobject物件

* @param map

*/public static void decodejsonobject(string prefix, object obj, mapmap) else

}return;

}} else if (obj instanceof jsonarray) else

}return;}}

}}

(2)自定義序列化和反序列化轉換器

自定義datetime的序列化和反序列化json的處理器:

/**

* @author: wf

* @create: 2020/10/26 11:55

* @description: datetime json反序列化解析器(也可以繼承jsondeserializer)

*/public class datetimedeserializer extends stdscalardeserializer

@override

public datetime deserialize(jsonparser jp, deserializationcontext ctxt) throws ioexception, jsonprocessingexception

}/**

* @author: wf

* @create: 2020/10/26 14:32

* @description: datetime json序列化處理器(也可以繼承jsondeserializer)

*/public class datetimeserializer extends stdscalarserializer

@override

public void serialize(datetime datetime, jsongenerator jsongenerator, serializerprovider provider) throws ioexception

}

總結:可以通過繼承jsonserializer、jsondeserializer的方式,並重寫seriakize()、deserialize()來自定義任何型別的序列化和反序列化方式。

2023年12月06日  晚  於北京記

springboot之jackson的兩種配置方式

springboot 針對jackson是自動化配置的,如果需要修改,有兩種方式 spring.jackson.date format指定日期格式,比如yyyy mm dd hh mm ss,或者具體的格式化類的全限定名 spring.jackson.deserialization是否開啟jacks...

JAX RS之jackson去處理json

在jax rs中使用jackson去處理json,例子如下。下文講解了,如何將乙個物件轉變為json物件,使用的是jackson。1 放置resteasy jackson provider.jar 2 乙個簡單物件 public class product public void setname s...

六 常用工具之Jackson

reviews count 5556 wish count 131272 douban site year 2016 images alt id 26683290 mobile url mobile title 你的名字。do count null share url seasons count n...