解决gson实体转json时当字段值为空时,json串中就不存在该属性

如:address不为空时,json串可能为{"address","上海市"},当address = null 时,会发现该属性转换为json时key值不存在。细心看到你的java代码是这样Gson gson = new GsonBuilder().setDateFormat("yyyy-MM-dd HH:mm:ss")
                    .excludeFieldsWithoutExposeAnnotation().create();这时修改为Gson gson = new GsonBuilder().serializeNulls().setDateFormat("yyyy-MM-dd HH:mm:ss")
                    .excludeFieldsWithoutExposeAnnotation().create();即可。此时若你的输出结果为{"address",null}
,这并不是我们想要的结果,可以使用简单的方法字符串的替换即可解决jsonResult = jsonResult.replaceAll("null","");最后输出的结果就是移动app端需要的数据{"address",""}

你可能感兴趣的:(it)