当前位置 博文首页 > zx1323的博客:jackson ObjectMapper 序列化成json,属性值为nu
import java.io.IOException;
import org.codehaus.jackson.JsonGenerationException;
import org.codehaus.jackson.JsonGenerator;
import org.codehaus.jackson.JsonProcessingException;
import org.codehaus.jackson.map.JsonMappingException;
import org.codehaus.jackson.map.JsonSerializer;
import org.codehaus.jackson.map.ObjectMapper;
import org.codehaus.jackson.map.SerializerProvider;
import org.junit.Test;
public class JsonTest {
?? ?protected static String getJson(Object obj) {
?? ??? ?ObjectMapper mapper = new ObjectMapper();
?? ??? ?// null替换为""
?? ??? ?mapper.getSerializerProvider().setNullValueSerializer(new JsonSerializer<Object>() {
?? ??? ??? ?@Override
?? ??? ??? ?public void serialize(Object arg0, JsonGenerator arg1, SerializerProvider arg2) throws IOException, JsonProcessingException {
?? ??? ??? ??? ?arg1.writeString("");
?? ??? ??? ?}
?? ??? ?});
?? ??? ?String str = null;
?? ??? ?try {
?? ??? ??? ?str = mapper.writeValueAsString(obj);
?? ??? ?} catch (JsonGenerationException e) {
?? ??? ??? ?e.printStackTrace();
?? ??? ?} catch (JsonMappingException e) {
?? ??? ??? ?e.printStackTrace();
?? ??? ?} catch (IOException e) {
?? ??? ??? ?e.printStackTrace();
?? ??? ?}
?? ??? ?return str;
?? ?}
?? ?@Test
?? ?public void test() {
?? ??? ?System.out.println(getJson(new TestObject()));//TestObject必须是POJO对象
?? ?}
}
class TestObject {
?? ?String name = "张三";
?? ?String sex = null;
?? ?public String getName() {
?? ??? ?return name;
?? ?}
?? ?public void setName(String name) {
?? ??? ?this.name = name;
?? ?}
?? ?public String getSex() {
?? ??? ?return sex;
?? ?}
?? ?public void setSex(String sex) {
?? ??? ?this.sex = sex;
?? ?}
}
运行结果:{"name":"张三","sex":""}
maven依赖
?
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
<version>1.9.13</version>
</dependency>
如果有帮到您的话,记得帮忙点下“顶”哟!
?
?
?
?