当前位置 博文首页 > zx1323的博客:jackson ObjectMapper 序列化成json,属性值为nu

    zx1323的博客:jackson ObjectMapper 序列化成json,属性值为nu

    作者:[db:作者] 时间:2021-09-01 19:19

    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>


    如果有帮到您的话,记得帮忙点下“顶”哟!

    ?

    ?

    ?


    ?

    cs