嗨,我想學習機器人,目前正在實施改造,並試圖解決這個使用相關的帖子在這裏可悲沒事幫助我請我聽到。Retrofit HashMap爲null
我有我需要在這裏解析它是
{
"-KNea90tV5nZlkeqxc3Q": {
"accountName": "Mark Angelo Noquera",
"accountNumber": "12435656443",
"accountType": "Peso Savings"
},
"-KNeaPmBoTXV4mQC6cia": {
"accountName": "Mark Angelo Noquera",
"accountNumber": "12435656444",
"accountType": "Peso Checking"
},
"-KNeaWe_ZbtI9Tn6l-oF": {
"accountName": "Mark Angelo Noquera",
"accountNumber": "12435656445",
"accountType": "Personal Loan"
}}
一個JSON數據那麼一些教程告訴我使用一個HashMap,所以我實現我的 這裏是我的ModelClass1.class
public class MarkSamples {
public HashMap<String, MarkSample> marksamples;
public HashMap<String, MarkSample> getMarksamples() {
return marksamples;
}}
ModeClass2.class - 用於處理對象
public class MarkSample {
@SerializedName("accountName")
public String acntName;
@SerializedName("accountNumber")
public String acntNumber;
@SerializedName("accountType")
public String acntType;
public String getName() {
return (acntName);
}
public void setName(String acntName) {
this.acntName = acntName;
}
public String getNumber() {
return (acntNumber);
}
public void setNumber(String acntNumber) {
this.acntNumber = acntNumber;
}
public String getType() {
return (acntType);
}
public void setType(String acntType) {
this.acntType = acntType;
}
}
我的API在這裏修訂
public interface ContactsAPI {
@GET("/api/accounts.json")
public void getSamples(Callback<HashMap<String, MarkSample>> response);}
,最後我在這裏打電話給我的處理程序已更新
api.getSamples(new Callback<HashMap<String, MarkSample>>() {
@Override
public void success(HashMap<String, MarkSample> stringMarkSampleHashMap, Response response) {
loading.dismiss();
int mint = stringMarkSampleHashMap.size();
Toast.makeText(mainActivity, mint, Toast.LENGTH_SHORT).show();
}
@Override
public void failure(RetrofitError error) {
}
});
每次我敬酒結果我得到了一個空值沒有我實施它錯了嗎?林肯定我正確使用我的RootUrl如果這不是問題我可以使用其他方法是什麼?請幫幫我。
,這裏是我的logcat 修訂
FATAL EXCEPTION: main
Process: com.exist.kelvs.retrofit2, PID: 2517
android.content.res.Resources$NotFoundException: String resource ID #0x3
at android.content.res.Resources.getText(Resources.java:312)
at android.widget.Toast.makeText(Toast.java:286)
at com.exist.kelvs.retrofit2.RetrofitHandler$2.success(RetrofitHandler.java:51)
at com.exist.kelvs.retrofit2.RetrofitHandler$2.success(RetrofitHandler.java:46)
at retrofit.CallbackRunnable$1.run(CallbackRunnable.java:45)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5417)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
你一定要移動到Retrofit2。你正在使用哪個版本的Gson? – Blackbelt
@ cricket_007 - 更新我的答案後才發現它,但現在修復並接受了我以前的問題的合法答案請不要殺了帖子,因爲它可能會幫助某人在未來將其恢復到以前的錯誤 – user3262438
@ user3262438請不要如果有人回答了您的原始問題,那麼您的問題就不會改變。改爲發佈新問題,但確保它不是重複的。 – Sufian