我向API發送請求並使用GSON將其轉換爲對象。GSON將字符串值轉換爲空
然後我通過一個Bundle
傳遞它並將其作爲JSON
String
傳遞。
的問題是,之前我通過它通過捆綁的價值看起來不錯,但是當我收到包在接下來的活動值則Null
什麼,似乎這裏是什麼問題?我在猜測GSON
在分析信息時遇到了一些問題。
這是我看到的字符串鍵之前我運行它通過捆綁。
這是我看到後,我通過它通過捆綁
我用下面的代碼通過捆綁來傳遞:
Bundle bundle = new Bundle();
Gson gson = new Gson();
bundle.putString("my_model", gson.toJson(searchResult, ModelClass.class));
i.putExtras(bundle);
startActivity(i);
這是我使用的JSON
轉換回對象的代碼:
Bundle bundle = getIntent().getExtras();
if (bundle != null) {
String myModelJSON = bundle.getString("my_model");
Gson gson = new Gson();
mMyModel = gson.fromJson(myModelJSON, MyModel.class);=
}
通知空末
我應該如何去修復呢?如果什麼都不能解決,我正在考慮使用Parcelable
。
EDIT:使用其餘客戶端應用程序
響應形式API:
「IMAGE_PATH」:「/上傳/圖像/ image02-%7B%7BSIZE%7D%7D-290x116。 jpg「
嘗試在你的包中加入一個測試變量,如名稱「test」,值「abc」。確保你在另一端獲得它。另外,請檢查myModelJsonString以確保它包含您的期望。 myModel還有哪些其他方法可用?嘗試訪問他們,看看你得到什麼。 –
我已經試過這個,它工作正常。其他方法很好,比如'getName();' – AndyRoid
啊,我之前看到的只是「null」。也許它是由「%」符號引起的某種編碼問題?什麼是字符串鍵?它是你編碼的對象的一部分嗎?或者是Gson API的一部分?我不認爲這是訪問捆綁包中字符串的關鍵,它是「my_model」... –