一、JSON相关知识
(1)JSON是一个轻量化协议,结构简单清晰,现在很多请求的参数都是JSON格式的。
(2)JSON配置项配置
现在行业内使用的JSON有很多,有alibaba JSON、huawei JSON等。常用的JSON对象方法包括toJSONString、parseObject等。在进行JSON对象与字符串类型(String)、其他对象的转化过程中,通常采用默认配置。但是也可以自定义序列化配置SerializerFeature来指定JSON,输出不同格式的JSON。
例如,在将对象JSON序列化转化为字符串时,可以通过SerializerFeature的WriteMapNullValue属性避免空属性的忽略,可以通过WriteNullListAsEmpty、WriteNullStringAsEmpty、WriteNullNumberAsZero、WriteNullBooleanAsFalse等属性将集合/字符串/数值/布尔值等类型的属性处理为对应的默认值等。如下图所示。
image.png
(3)使用拦截器进行JSON全局配置
前述提到,JSON由于轻量、结构简单清晰等特点,现常用于接口数据的传输。我们可以通过拦截器,在返回接口相应参数前,对对象进行统一的处理,如通过WriteNullListAsEmpty处理对象的null属性、通过WriteDateUseDateFormat格式化日期输出、设置默认字符集(如UTF-8)等,规范接口参数的格式。而使用拦截器则避免了重复配置,节省开销。
例子:
image.png