我正在尝试将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}}对象中具有相应的空条目。