1、全局配置
配置在application.yml
文件中
spring: jackson: #日期格式化 date-format: yyyy-MM-dd HH:mm:ss serialization: #格式化输出 indent_output: true #忽略无法转换的对象 fail_on_empty_beans: false #设置空如何序列化 defaultPropertyInclusion: NON_NULL # 空值字段不传输(NON_EMPTY) deserialization: #允许对象忽略json中不存在的属性 fail_on_unknown_properties: false parser: #允许出现特殊字符和转义符 allow_unquoted_control_chars: true #允许出现单引号 allow_single_quotes: true
2、自定义字段/属性名:@JsonProperty
@ApiModel(value = "User对象", description = "用户表") public class User implements Serializable { private static final long serialVersionUID = 1L; // 自定义Json字段名 @JsonProperty("userId") @ApiModelProperty("自增ID") @TableId(value = "id", type = IdType.AUTO) private Integer id; @ApiModelProperty("手机号") private String phone; // 其他字段省略...... }
3、忽略某个字段/属性:@JsonIgnore
@ApiModel(value = "User对象", description = "用户表") public class User implements Serializable { private static final long serialVersionUID = 1L; // 自定义Json字段名 @JsonProperty("userId") @ApiModelProperty("自增ID") @TableId(value = "id", type = IdType.AUTO) private Integer id; @ApiModelProperty("手机号") private String phone; // 忽略Json输出 @JsonIgnore @ApiModelProperty("登录密码") private String password; // 其他字段省略...... }
4、Json组手类
package wen.jianbao.common.helper; import cn.hutool.json.JSONArray; import cn.hutool.json.JSONConfig; import cn.hutool.json.JSONObject; import cn.hutool.json.JSONUtil; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; /** * Json助手类 */ public class JsonHelper { private static final ObjectMapper objectMapper = new ObjectMapper(); /** * 对象转字符串 */ public static String objectToString(Object object) { try { return objectMapper.writeValueAsString(object); } catch (JsonProcessingException e) { e.printStackTrace(); return ""; } } /** * 字符串转对象 */ public static <T> T stringToObject(String json, Class<T> object) { try { return objectMapper.readValue(json, object); } catch (JsonProcessingException e) { e.printStackTrace(); return null; } } /** * 转JSON对象 */ public static JSONArray parseArray(Object arrayOrCollection) { JSONConfig config = JSONConfig.create().setIgnoreCase(false) .setOrder(true).setDateFormat("yyyy-MM-dd HH:mm:ss"); return JSONUtil.parseArray(arrayOrCollection, config); } /** * 转JSON数组对象 */ public static JSONObject parseObject(Object obj) { JSONConfig config = JSONConfig.create().setIgnoreCase(false) .setOrder(true).setDateFormat("yyyy-MM-dd HH:mm:ss"); return JSONUtil.parseObj(obj, config); } }