package utils;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Arrays;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import org.codehaus.jackson.map.ObjectMapper;
import org.codehaus.jackson.map.SerializationConfig;
import org.codehaus.jackson.map.annotate.JsonSerialize;
import org.codehaus.jackson.type.JavaType;
/*
* 使用 jackson 包操作 JSON 工具类
*
* @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL)
* 类(标记放在类上)和属性(标记放在属性上)的序列化设置
* JsonSerialize.Inclusion.ALWAYS - 默认
* JsonSerialize.Inclusion.NON_DEFAULT - 属性为默认值不序列化
* JsonSerialize.Inclusion.NON_EMPTY - 属性为空("")或者为 NULL 都不序列化
* JsonSerialize.Inclusion.NON_NULL - 属性为 NULL 不序列化
*
* @JsonIgnore
* 标记放在属性上,序列化时忽略此属性
*
* @JsonSerialize(using = JsonTimestampSerializer.class)
* 标记放在属性上,序列化(object to string)时使用自定义的类转器
*
* @JsonDeserialize(using = JsonTimestampDeserializer.class)
* 标记放在属性上,反序列化(string to object)时使用自定义的类转器
*
* @JsonProperty
* 标记放在属性上,显示指定字段的别名,不管是输入还是输出都是这个名字
*/
public final class JsonUtils {
// JSON 转换器
private final static ObjectMapper objectMapper = new ObjectMapper();
static {
// 属性为 NULL 不序列化
objectMapper.setSerializationInclusion(JsonSerialize.Inclusion.NON_NULL);
// 忽略未知属性
objectMapper.configure(SerializationConfig.Feature.FAIL_ON_EMPTY_BEANS,
JsonUtils解析工具类
最新推荐文章于 2024-05-19 09:51:59 发布