jaskson 里 空json对象的处理

在用jaskson的时候,会有{}这样的json传入。
就是里面什么也没有,key也没有,就一对花括号

这样mapper映射的时候,实体的字段都会为null
如何将这些null处理成"",空字符串?

阅读 6.7k
5 个回答

{} 相当于 new了对象但是没有设置任何字段
所以需要自己改构造方法自己设置初始值

修改get方法,或在构造器里初始化一下。

自定义构造函数

声明字段的时候给一个默认值。

package com.lanqee.component.web.servlet.json;

import java.io.IOException;

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

/**
 * @author yuerzm
 *
 */
public class JsonNullValueMapper extends ObjectMapper {
    
    /**  */
    private static final long serialVersionUID = 5289003662429837280L;
    
    public JsonNullValueMapper() {
        super();
        this.getSerializerProvider().setNullValueSerializer(new JsonSerializer<Object>() {
            @Override
            public void serialize(Object value, JsonGenerator jg, SerializerProvider sp) throws IOException {
                jg.writeString("");
            }
        });
    }
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题