2017-09-07 130 views
0

中希望将空值替换为空白,其中数据来自JSON格式。将空值替换为空白

下面是响应有一些数据值为空的代码我不想在我的应用程序显示空,所以我能做些什么来将null更改为空白。

String detailsURL = "http://10.0.2.2/xp/details2.php?id="+id+"&gender="+strGender+"&curr_user_id="+current_Id; 
    StringRequest stringRequest = new StringRequest(Request.Method.GET,detailsURL, new Response.Listener<String>() { 
     @Override 
     public void onResponse(String response) { 

       Log.e("details*************",response.trim()); 
       showJSON(response); 
      } 
    }, 
      new Response.ErrorListener() { 
       @Override 
       public void onErrorResponse(VolleyError error) { 
        Toast.makeText(BlankActivity.this,error.getMessage().toString(),Toast.LENGTH_LONG).show(); 
       } 
      }); 

    RequestQueue requestQueue = Volley.newRequestQueue(BlankActivity.this); 
    requestQueue.add(stringRequest); 

下面是showJSON功能

private void showJSON(String response){ 
     String fname = ""; 
     String lname = ""; 
     String mobile1 = ""; 
     String emailVC = ""; 
     String height = ""; 
     String weight = ""; 
     String complexion = ""; 
     String body = ""; 
     String diet = ""; 
    try { 
     JSONObject jsonObject = new JSONObject(response); 
     JSONArray result = jsonObject.getJSONArray(Config.JSON_ARRAY); 
     JSONObject userData = result.getJSONObject(0); 

     fname = userData.getString(Config.KEY_FNAME); 
     lname = userData.getString(Config.KEY_LNAME); 
     mobile1 = userData.getString(Config.KEY_MOBILE1); 
     emailVC = userData.getString(Config.KEY_EMAIL); 
     height = userData.getString(Config.KEY_HEIGHT); 
     weight = userData.getString(Config.KEY_WEIGHT); 
     complexion = userData.getString(Config.KEY_COMPLEXION); 
     body = userData.getString(Config.KEY_BODY); 
     diet = userData.getString(Config.KEY_DIET); 
+1

后showJSON方法 – Raghavendra

+0

我已经发布showJSON方法请检查 –

+1

它是连击所有字符串值中的“”(空白),如果如果Array [](空数组),----- ------ so batter to change at service side –

回答

1
if(jsonObject.has("key")) 
{ 
    if (jsonObject.isNull("key")) 
    { 
     String value = ""; 
    } 
} 
+0

什么是关键@Yash –

+0

@VikasGodiyal这里的关键是“Config.KEY_FNAME” – yash786

+0

所以有很多变量我需要为大家如果我这样做,我会花时间 –

1
在showJSON方法

String x = ""; 
if(!response.isNull("key")) { 
    x = response.getString("key"); 
} 
+0

没有一个变量的响应超过8个变量。 –

+0

恐怕你必须为每个变量做这件事。 –

+0

我们可以使用替换方法,如response.replace(null,“”); –

1

只要勾选键的值是否为空或不是。例如

if(jsonObject.get("parentId")== null){ 
//do something here 
} 

或者 如果JSON本身是空白

if(jsonObject.length() == 0) 
{ 
//do something here 
} 

或者

if(jsonObject.isNull("parentId")){ 
    jsonObject.put("parentId", SOME_VALUE_HERE); 
} 
+0

是的键值为空,这是显示在应用程序,所以我需要将空值更改为空 –

+0

您可以使用我写的第一种方法或第三种方法。 – Abhinash

+0

其中有8个以上变量的parent_id –

0

解析在一些模型类的响应和在该模型中的getter函数班级,你可以做类似

public Object getObject(){ 
return object==null:new Object:object; 
}