json:我们可以避免在序列化对象时编写null属性(我们可以使用@JsonWriteNullProperties(false)吗?)

时间:2013-04-03 06:08:11

标签: java json nullpointerexception jackson gson

我正在尝试将json对象restFBResponse从Facebook graph-api转换为类Post的对象。

MyPost post = gson.fromJson(restFBResponse.toString(), MyPost.class);

其中,MyPost类如下:

import org.codehaus.jackson.annotate.JsonWriteNullProperties;

@JsonWriteNullProperties(false)
public class MyPost extends Post {

}

Post课程中有很多字段。如果在json对象actions中不存在任何这些字段(例如,例如restFBResponse),则对象post中的对应条目将为空。但是在课程Post中,操作分配了一个arraylist,

List<Action> actions = new ArrayList<Action>();

因此,如果actions中缺少restFBResponse,则actions对象中的post字段将变为null。如果我尝试通过以下方式访问添加新元素的操作:

post.getActions().add(element)

导致错误:

Exception in thread "main" java.lang.NullPointerException

相反,我希望ArrayList<Action>actions中不存在restFBResponse时保持为null。即如果字段为空@JsonWriteNullProperties(false),则避免写入。

我怎样才能实现这个目标?

我尝试在所有类上使用restFBResponse,但结果仍然相同,即post对象中缺少的元素在{{1}}对象中具有相应的空条目。

0 个答案:

没有答案