本文共 671 字,大约阅读时间需要 2 分钟。
刚进公司进行数据传输的时候,接收方就告诉我说传过去的null,都变成了0;
这个是为什么呢,在我的多地排除,发现是转换的时候出现了问题. json方法在使用时.会自动把数据中long类型的null.转换成默认值0;
JsonUtils.object2Json(object)
使用JSONObject.fromObject的时候其实有一个配置的参数JsonConfig。用JsonConfig注册一个新的配置传给JSONObject.fromObject。
//自定义Long在JsonUtils.object2Json装换的默认值JsonConfig jsonConfig = new JsonConfig();jsonConfig.registerDefaultValueProcessor(Long.class,new DefaultDefaultValueProcessor() { public Object getDefaultValue(Class type) { return null; }});
上面就创建了一个json的新的配置参数,这里我把long类型的默认值改成了null.
如果你要改什么的默认值就套用上面的代码就是.//将刚才定义的新配置参数放进方法中JsonUtils.object2Json(object,jsonConfig )
问题虽然很简单,但是对于小白的我碰见了就自己记录一下.
转载地址:http://dbezi.baihongyu.com/