0
我使用JSON中與這樣的消息來響應REST服務:使用GSON deserilization任意類型
{
"statusMessage":{
"message":"my message",
"error":false
},
"data":null
}
領域data
是數組,有時爲空,有時與一個類的實例填補(如合夥人,Department,Building,...只有一種類型)。
在我的Java應用程序,我有一個ServerResponse
類,它看起來像:
public class ServerResponse {
private StatusMessage statusMessage;
private List<Object> data;
public ServerResponse(StatusMessage statusMessage, List<Object> data) {
this.statusMessage = statusMessage;
this.data = data;
}
...
}
當data
爲null,是沒有問題的,但是當它與一些對象罷了,我不知道如何將其反序列化。如果我使用:
response = gson.fromJson(result, ServerResponse.class);
我不能投或使用data
對象的列表。此外,如果我在Java中聲明字段數據是這樣的:
private List<Department> data;
它正常工作與Department
類型,但是,可以預料,將引發與其他類型的錯誤。我被卡住了......
如果返回的JSON是壞,你幾乎出於運氣當涉及到將其反序列化爲Java類/對象時。至少不是沒有胡扯的廢話,並從'Object'投射。您最好簡單地解析JSON並提取數據。 – 2013-03-21 02:07:17