0
我有一個返回2個不同值的響應。在每種情況下,其中一個值爲總是爲空,另一個值爲總是包含一個值。問題是Volley不讓我指定一個空的JSON值或在if語句中檢查一個JSON值。它只是指代catch塊。我試着這樣做:如何處理排隊中的空值StringRequest
StringRequest request = new StringRequest(Request.Method.POST, "url", new Response.Listener<String>() {
@Override
public void onResponse(String response) {
try {
JSONObject obj = new JSONObject(response);
//If this is null, it stops here and goes to catch.
String value1 = obj.getString("value1")
String value2 = obj.getString("value2");
//Can't perform any more code because Value1 is null
} catch (JSONException e) {
Log.d("Log","Your String was null");
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Log.d("Log", "Unable to connect to server!");
}
});
我不能用throws
由於庫的設計方式,它迫使我把它放在一個try/catch。無論如何,在這附近呢?
編輯:以下異常就是我得到:
org.json.JSONException:VALUE1的
爲什麼你不只是測試'response'的價值? – njzk2
'response'不是空白的部分。問題是,將我的任何'get'值(在本例中爲'getString')放入變量中仍然會導致catch塊執行。因此,除非我能夠把它放在if/else中。 –
我很想聽聽有什麼值得讚賞的。非常簡單的問題。 –