2015-12-22 40 views
0

我從web服務的Android,org.json.JSONException:對於

"alert": { 
    "long_msg": "Thank you for downloading PHARMAPLUS APP, if you found our APP helpful please rate us five star on play store", 
    "short_msg": "Welcome to PHARMAPLUS", 
    "title": "Thank you" 
} 

得到以下JSON和我的代碼沒有價值

if (json.has("alert")) { 
    String alert = json.getString("alert"); 
    String _title = json.getString(Constansts.PARSE.NOTIFICATION.TITLE); 
    String _shortMsg = json.getString(Constansts.PARSE.NOTIFICATION.SHORT_MSG); 
    String _longMsg = json.getString(Constansts.PARSE.NOTIFICATION.LONG_MSG); 

常量等被定義如下

public static final String TITLE = "title"; 
public static final String SHORT_MSG = "short_msg"; 
public static final String LONG_MSG = "long_msg"; 

得到如下錯誤

org.json.JSONException: No value for title 
+3

爲什麼'字符串alert = json.getString(「alert」);'? –

+1

那麼,JSON沒有「標題」的值。 「alert」鍵的對象會這樣做。 –

回答

3

由於每JSON

"alert": { 
    "long_msg": "Thank you for downloading PHARMAPLUS APP, if you found our APP helpful please rate us five star on play store", 
    "short_msg": "Welcome to PHARMAPLUS", 
    "title": "Thank you" 
} 

這裏警報是JSONObject。和值titlelong_msgshort_msg都在裏面alert

所以,你需要修改的代碼

if (json.has("alert")) { 
    String alert = json.getString("alert"); 
    String _title = json.getString(Constansts.PARSE.NOTIFICATION.TITLE); 
    String _shortMsg = json.getString(Constansts.PARSE.NOTIFICATION.SHORT_MSG); 
    String _longMsg = json.getString(Constansts.PARSE.NOTIFICATION.LONG_MSG); 

這部分進入

if (json.has("alert")) { 
    JSONObject alert = json.getJSONObject("alert"); 
    String _title = alert.getString(Constansts.PARSE.NOTIFICATION.TITLE); 
    String _shortMsg = alert.getString(Constansts.PARSE.NOTIFICATION.SHORT_MSG); 
    String _longMsg = alert.getString(Constansts.PARSE.NOTIFICATION.LONG_MSG); 
0

GEET的JSON下警報,然後再根據該參考其他字符串值

JSONObject alert=json.getJSONObject("alert");; 
String _title = alert.getString(Constansts.PARSE.NOTIFICATION.TITLE); 
0

,如果你想在來自這些問題比你必須做出檢查,在響應中的JSON字符串或退出或不就像

JSONObject jsonObject = new JSONObject(respons);///Here response is your response 

if(jsonObject.has("alert")) 
{ 
JSONObject alert = json.getJSONObject("alert"); 

if(alert.has("long_msg")) 
{ 
    String _longMsg = alert.getString(Constansts.PARSE.NOTIFICATION.LONG_MSG); 
} 

if(alert.has("short_msg")) 
{ 
    String _shortMsg = alert.getString(Constansts.PARSE.NOTIFICATION.SHORT_MSG); 
} 

if(alert.has("title")) 
{ 
    String _title = alert.getString(Constansts.PARSE.NOTIFICATION.TITLE); 
} 
} 

它永遠不會拋出異常....這是你現在變得

相關問題