package com.json;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.serializer.AfterFilter;
import com.alibaba.fastjson.serializer.SerializeConfig;
import com.alibaba.fastjson.support.config.FastJsonConfig;
import com.alibaba.fastjson.support.jaxrs.FastJsonProvider;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import lombok.Data;
/**
* @author liangsu
* @version v1.0
* @Description
*
* 对象序列号为json字符串的时候,在有#{@link }注解时,
* 多输出一个字段。如:sex = 1 输出 {"sex": 1, "_sex": "男"}
*
* @Date 2020/03/20 09:00
* @since
*/
public class AddFieldJsonFilter extends AfterFilter {
@Override
public void writeAfter(Object object) {
writeKeyValue("add", "小明");
}
public static void main(String[] args) {
AddFieldJsonFilter addFieldJsonFilter = new AddFieldJsonFilter();
Model model = new Model("zhangsan", System.currentTimeMillis());
System.out.println(JSON.toJSONString(model, SerializeConfig.globalInstance, addFieldJsonFilter));
}
}
@Data
class Model{
private String name;
private Long bithUtc;
public Model(String name, Long bithUtc) {
this.name = name;
this.bithUtc = bithUtc;
}
public Model() {
}
public String getAge(){
return "asdfk";
}
}
结果
{"age":"asdfk","bithUtc":1645076017817,"name":"zhangsan","add":"小明"}