2017-03-31 67 views
0

我試圖將一個json格式的響應從一個web服務轉換爲一個ArrayList<Stop>對象。爲什麼gson庫在將json響應轉換爲ArrayList <Object>時將整數值設置爲零?

在將json響應轉換爲java對象之前,我確保數據庫以正確方式檢索所有數據,請參見下面的圖像。

enter image description here

然而轉換JSON響應和調試Android應用後我意識到,所有的整數字段的值已被設置爲零。 字段stopIdjourneyId分別對應於數據庫中的PRIMARY_KEYFOREIGN_KEY

enter image description here

這是代碼的我寫這樣做的snipet。 enter image description here

在此先感謝您的幫助。

+1

序列化名稱不匹配。看看json鍵的命名,你寫爲stopId,而在你的模型'Stop'類中,你寫了stop_id,如果你想在你的'Stop'類中爲你的變量使用不同的名字,使用@SerialzeName(「key」)',然後在它下面聲明變量 –

回答

1

嘗試根據Camel Case Sensitive,更改stop_id改爲stopIdjourney_id改爲journeyId。或者根據您的需要配置您的Gson:

Gson gson = new GsonBuilder().setFieldNamingPolicy(FieldNamingPolicy.UPPER_CAMEL_CASE).create(); 
String jsonRepresentation = gson.toJson(someObject); 
System.out.println(jsonRepresentation); 
+0

非常好,謝謝。第一個解決方案爲我工作。沒有嘗試第二個,但我想這也是有效的。 – Sandoval0992

相關問題