0 0

Jackson 序列化 如何让为NULL的属性不参与序列化5

public class User {

	private int id;
	
	private String name;
	
	private Date date;
}

	User u = new User();
	u.setId(1);
	u.setName("张三");
	u.setDate(new Date());

//结果{"id":1,"name":"张三","date":"2013-03-19"}

//如果u.setDate(null); 我不想让他参与序列化
// 我想返回{"id":1,"name":"张三"} 默认情况是{"id":1,"name":"张三","date":null}


Jackson
2013年3月29日 15:20

1个答案 按时间排序 按投票排序

0 0

采纳的答案

很简单。首先请确认你是Jackson是什么版本2.x以上即可

好了下面是代码

public class JSonWirteTest {
    public static void main(String[] args) {

        User user = new User();
        ObjectMapper mapper = new ObjectMapper();

        try {
            mapper.setSerializationInclusion(Include.NON_NULL);
            user.setAge(10);
            user.setMessages(new ArrayList<String>());
            user.setName(null);
            mapper.writeValue(new File("user.json"), user);

        } catch (JsonGenerationException e) {

            e.printStackTrace();

        } catch (JsonMappingException e) {

            e.printStackTrace();

        } catch (IOException e) {

            e.printStackTrace();

        }

    }

}


结果:
{"age":10,"messages":[]}

2013年3月29日 16:46

相关推荐

Global site tag (gtag.js) - Google Analytics