jackson ObjectMapper 序列化成json,属性值为null时转换为""空字符串
2016-11-29 11:21
239 查看
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>
如果有帮到您的话,记得帮忙点下“顶”哟!
相关文章推荐
- Jsonlib JsonObject.formObject().toString Integer为null 最后结果是0,String 为null ,最后结果是""(空字符串)
- gson序列化对象(值为空也序列化、值为null转换为""、排除策略)
- fastjson生成json时Null转为空字符串""或者不展示
- 遍历对象类型,将null转换为""
- 转换字符串,undefined,null等转化为""
- Java JSONObject数组使用时出现"nullpointerexception"的解决办法
- 编程题:1. var person = '{name:"Lily",sex:"famale",age:24,country:"US"}';将person转换成JSON对象并便利每个属性值。
- jackson 实体转json 为NULL或者为空字符串或默认值时不参加序列化
- json序列化时,不序列化值为null和""的字段
- SpringMVC整合FastJson:用"最快的json转换工具"替换SpringMVC的默认json转换
- SpringMVC整合FastJson:用"最快的json转换工具"替换SpringMVC的默认json转换
- json序列化时,不序列化值为null和""的字段
- json数据为null处理为""解决方案
- Newtonsoft.Json 时间格式设置,替换null为""
- request.getParameter("name")什么时候获取的参数是null,什么时候为""空字符串
- JSON 序列化和反序列化:将时间由"//Date(10000000000-0700)//" 格式转换成 "yyyy-MM-dd HH:mm:ss" 格式的字符串
- fastjson序列化 将Null设置为空字符串等问题
- Atiitt 对象转换json 序列化规范 Java 循环引用的解决 设置序列化层次深度 去除不必的属性 太长不方便月度 jsonObject.remove("num1"); Prety fo
- java判断""和null的方法
- 字符串非空校验(2是可以判断为""或null)