2013-05-13 123 views
0

我有一個問題:我使用Web服務來返回一些值,但有些時候一些問題面臨的Web服務,當我想顯示他們我的應用程序崩潰,所以我想使肯定,如果沒有什麼表現,然後只返回空的空間,我用它JSON,有我的代碼的一部分,如果有人能幫助我,從Android返回字符串

public static Article parseArticle(JSONObject jsonArticle) { 

     Article article = new Article(); 

     try { 
      article.setTitle(ArabicUtilities.reshape(Html.fromHtml(jsonArticle.getString("title")).toString())); 
      article.setExcerpt(ArabicUtilities.reshape(Html.fromHtml(jsonArticle.getString("excerpt")).toString())); 
      article.setContent(ArabicUtilities.reshape(Html.fromHtml(jsonArticle.getString("content")).toString())); 
      article.setDate(jsonArticle.getString("date")); 


      return article; 
     } catch (JSONException e) { 
      e.printStackTrace(); 
      return null; 
     } 
    } 

private void loadinfo() { 

     { 
      programs = JSONParser.parseProgram(savedData); 
      txt1.setText(article.get(1).getTitle()); 
      txt2.setText(article.get(0).getTitle()); 
      txt3.setText(article.get(1).excerpt()); 
      txt4.setText(article.get(0).excerpt()); 
      txt5.setText(article.get(1).content()); 
      txt6.setText(article.get(0).content()); 
      txt7.setText(article.get(1).date()); 
      txt8.setText(article.get(0).date()); 
     } 

這是發生了什麼事,當我努力它給出錯誤信息

 txt1.setText(article.get(1).getTitle()); 

沒有值

+0

e.printStackTrace();它返回什麼? – Triode 2013-05-13 13:43:27

回答

0
public static Article parseArticle(JSONObject jsonArticle) { 
    Article article = new Article(); 
    if(null!=jsonArticle){ 
     try { 
      /*your code */ 
    }else{ 
     article.setTitle(ArabicUtilities.reshape(""); 
     article.setExcerpt(ArabicUtilities.reshape(""); 
     article.setContent(ArabicUtilities.reshape(""); 
     article.setDate(""); 
     return article; 
     } 
    } 
+0

是的,我想要的,但我不知道如何使日期,標題...爲空,並沒有顯示任何味精 – Sherlock 2013-05-13 13:46:44

+0

我編輯了我的答案。 – vasanth 2013-05-13 14:18:19

+0

謝謝你,我會試試這個 – Sherlock 2013-05-13 14:24:40

1

如果我沒有誤解你而不是jsonArticle.getString你可以使用jsonArticle.optString。如果json不包含該密鑰,它將返回一個空的String

String mString = jsonArticle.optString("title"); 
article.setTitle(ArabicUtilities.reshape(Html.fromHtml(mString).toString())); 
mString = jsonArticle.optString("excerpt");     
article.setExcerpt(ArabicUtilities.reshape(Html.fromHtml(mString).toString())); 
mString = jsonArticle.optString("content");      
article.setContent(ArabicUtilities.reshape(Html.fromHtml(mString).toString())); 
mString = jsonArticle.optString("date");    
article.setDate(mString); 

here該文檔爲optString()

EDIT

public static Article parseArticle(JSONObject jsonArticle) { 

    Article article = new Article(); 

    try { 
      String mString = jsonArticle.optString("title"); 
      article.setTitle(ArabicUtilities.reshape(Html.fromHtml(mString).toString())); 
      mString = jsonArticle.optString("excerpt");     
      article.setExcerpt(ArabicUtilities.reshape(Html.fromHtml(mString).toString())); 
      mString = jsonArticle.optString("content");      
      article.setContent(ArabicUtilities.reshape(Html.fromHtml(mString).toString())); 
      mString = jsonArticle.optString("date");    
      article.setDate(mString); 
    } catch (JSONException e) { 
     e.printStackTrace(); 
    } 

     return article; 
} 
+0

你的意思是optString?我如何使用它?即時通訊只是初學者,所以這就是爲什麼對不起 – Sherlock 2013-05-13 14:04:05

+0

看到我最後編輯 – Blackbelt 2013-05-13 14:07:24

+0

謝謝,但它仍然同樣的問題:( – Sherlock 2013-05-13 14:15:40