请问大家,JFinal里面全局设置WriteMapNullValue怎么弄?

现在项目里面用FastJsonFactory,现在对象转JSON,如果对象的字段为空则不会返回给前端,我想全局设置一下序列化值为 null 的字段,怎么做呢



评论区

杜福忠

2023-05-24 13:07

个人认为不如直接使用MixedJsonFactory 性能更高,配置一下就可以了:
public void configConstant(Constants me) {
me.setJsonFactory(new MixedJsonFactory());
}
官方提供了 MixedJson、MixedJsonFactory 实现,这个实现让转 json string 时使用 JFinalJson,反向转成对象则使用 FastJson。
https://jfinal.com/doc/12-2

必须Fast转字符串的话就继承FastJsonFactory和FastJson改一下返回值:
return JSON.toJSONString(object) 改为 :
return JSON.toJSONString(r, SerializerFeature.WriteMapNullValue);
就可以了

风满楼

2023-05-24 14:43

看下这个满足嘛 https://jfinal.com/share/2344

鱼跃人

2023-06-14 19:24

已解决 谢谢大家

听风道长

2024-03-09 09:27

@鱼跃人 怎么解决的?

热门反馈

扫码入社