我試圖反序列化使用gson json字符串。這裏是我的代碼從json轉換爲與gson類似乎不會做任何事情
static class ReturnPramaters {
public ReturnPramaters()
{
}
public Boolean LoginFailed = true;
public String LoginFailedReason = "";
public String AppPath = "";
public String WorkstiaonGuid = "";
public String RDPUsername = "";
public String RDPPassword = "";
public int StartMode = -1;
public String ServerAddress = "";
}
public static void main(String[] args) {
String json = sendGetRequest("http://example.com:80/Rdp/json/login","username=test&password=1234");
Gson gson = new Gson();
ReturnPramaters para = gson.fromJson(json, ReturnPramaters.class);
if(para.LoginFailed)
JOptionPane.showMessageDialog(null, para.LoginFailedReason, "Login Failed",JOptionPane.ERROR_MESSAGE);
else {
//...
}
}
這裏是我的json字符串是從get請求retured。
"{"d":{"__type":"ReturnPramaters:#ServerApp","AppPath":"C:\\Remote Desktop Manager\\Launcher\\Launcher.exe","LoginFailed":false,"LoginFailedReason":null,"RDPPassword":"XjE2QAL","RDPUsername":"test09","ServerAddress":"example.com","StartMode":1,"WorkstiaonGuid":"96175701-f72a-44e9-8ee1-6eb756293654"}}"
但是在ReturnPramaters para = gson.fromJson(json, ReturnPramaters.class);
之後仍然有所有未初始化的值。發生什麼事情會導致這種情況失敗?
是的,它在文檔中說靜態類型是好的(實際上如果你的類是一個嵌套類(它實際上是,我只是發佈了一個簡化的例子)) – 2011-02-28 17:58:41