自定义 json的返回格式 : JsonSerializer

来源:互联网 发布:kindle编辑软件 编辑:程序博客网 时间:2024/05/17 02:33
package com.scistor.datavision.analysis.util;


import java.io.IOException;


import org.apache.oozie.client.WorkflowJob.Status;


import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JsonSerializer;
import com.fasterxml.jackson.databind.SerializerProvider;


public class JsonCustomStatusFormat extends JsonSerializer<Status> {


    @Override
    public void serialize(Status value, JsonGenerator gen,
            SerializerProvider arg2)
            throws IOException, JsonProcessingException {


        gen.writeString(change(value));
    }


    public String change(Status value) {
        String format = "";
        if (value.equals(Status.PREP)) {
            format = "准备";
        } else if (value.equals(Status.RUNNING)) {
            format = "正在运行";
        } else if (value.equals(Status.SUCCEEDED)) {
            format = "运行成功";
        } else if (value.equals(Status.KILLED)) {
            format = "杀死";
        } else if (value.equals(Status.FAILED)) {
            format = "运行失败";
        } else if (value.equals(Status.SUSPENDED)) {
            format = "暂停";
        }
        return format;
    }
}


=============================================================================================================

domain的get方法上面使用注解


  @JsonSerialize(using = JsonCustomStatusFormat.class)
     public Status getStatus() {
         return status;
     }



0 0
原创粉丝点击