2017-01-18 74 views
-2

數據:的Android的JSONObject需要從打印空

{"i":"One","o":"two","u":"","a":"four"}

代碼:

JSONObject data; 
for (int i = 0; i < list.length(); i++) { 
    data = list.optJSONObject(i); 
    mSearchList.add(data.optString("o") + " " + 
      data.optString("u")+ " " + data.optString("a")); 
} 

打印:

i=one o=two u= a=four

我需要打印:

i=one o=two u=null a=four

怎麼辦?謝謝你閱讀我的問題,請大家幫我

+2

檢查它是否是一個空字符串,打印'null',而不是... –

+0

如果你有番石榴,您可以用'Strings.emptyToNull()'。 – shmosel

回答

0

正如索蒂里奧斯Delimanolis說,你可以檢查,如果這是一個空字符串,返回「空」的文本。

for (int i = 0; i < list.length(); i++) { 
    data = list.optJSONObject(i); 
    mSearchList.add(
      data.optString("o").equals("") ? "null" : data.optString("o") + " " + 
      data.optString("u").equals("") ? "null" : data.optString("u") + " " + 
      data.optString("a").equals("") ? "null" : data.optString("a")); 
} 
0

使用此方法

getValidString(JSONObject json,String key){ 
    String value=""; 
    try{ 
     value=json.getString(key); 
    }catch(Exception e){ 
     e.printStackTrace(); 
    } 
    if(value.length==0){ 
     value="null"; 
    } 
}