介绍 JsonObject、JsonArray之前,先介绍下JsonConfig
JsonConfig:
-
setClassMap(Map classMap)
设置json属性类型,上json里的其中值为List时,可通过此属性设置属性类型Map jMap = new HashMap(); jMap.put("contactPersonList",ContactPerson.class); jMap.put("subscribedList",InvestorSubscribed.class); jsonConfig.setClassMap(jMap);
-
setRootClass(Class rootClass)
设置json要转化的java类型 -
setExcludes(String[] excludes)
去除不需要转化的属性 -
setJavaPropertyFilter(PropertyFilter javaPropertyFilter)
通过实现PropertyFilter 的apply方法来去除不需要转化的属性。当返回true时,则过滤(其中ower为当前实体类,name为属性,value为值)jsonConfig.setJavaPropertyFilter((ower,name,value) -> { return true; });
JsonObject常用方法:
-
Object toBean(JSONObject jsonObject)
-
Object toBean(JSONObject jsonObject, Class beanClass)
beabClass既是设置JsonConfigde的RootClass -
Object toBean(JSONObject jsonObject, Class beanClass, Map classMap)
-
Object toBean(JSONObject jsonObject, JsonConfig jsonConfig)
JsonArray常用方法:
-
Collection toCollection(JSONArray jsonArray)
-
Collection toCollection(JSONArray jsonArray, Class objectClass)
-
Collection toCollection(JSONArray jsonArray, JsonConfig jsonConfig)
将java类转为Json时常用方法:
-
void setJsonPropertyFilter(PropertyFilter jsonPropertyFilter)//注意一个是jsonProperty,一个是javaProperty
-
void registerJsonValueProcessor(Class propertyType, JsonValueProcessor jsonValueProcessor)
此方法为遇到 制定类型时,进行数据转化格式,常用语转化Date时间格式。实现JsonValueProcessor的Object processArrayValue(Object var1, JsonConfig var2)//处理单个类
Object processObjectValue(String var1, Object var2, JsonConfig var3)//处理数组的类
ps:注意对null进行判断