[code="java"]
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}
[/code]
Jackson
很简单。首先请确认你是Jackson是什么版本2.x以上即可
好了下面是代码
[code="java"]
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();
}
}
}
[/code]
结果:
{"age":10,"messages":[]}