2016-02-13 22 views
0

大家好,我的问题是关于Android的编程条件如果变量退出与否。我有一个名为company_name varible我必须从REST API获取和打印我的Android设备上。Android的代码从REST API检查

但我的问题是必须检查的条件,如果company_name(变量)的存在与否,如果不是,那么它必须跳过它,打印等。

我的代码:

try { 
        JSONObject jsonObject = new JSONObject(response); 
        final JSONArray jsonArray = jsonObject.getJSONArray("data"); 


        final List<String> names = new ArrayList<String>(); 
        for (int i = 0; i < jsonArray.length(); i++) { 
         JSONObject inter = new JSONObject(jsonArray.get(i).toString()); 
         ApplyJobItem jobItem = new ApplyJobItem(); 
         jobItem.setCompanyName(inter.getString("company_name")); 
         jobItem.setIndustry(inter.getString("industry_selected")); 
         jobItem.setJobPost(inter.getString("title")); 
         jobItem.setJobType(inter.getString("type")); 
         jobItem.setJobId(inter.getString("_id")); 
         //jobItem.setJobCity(inter.getString("location")); 
         //jobItem.setJobSalary(inter.getJSONArray("salary_range").getString(0) + " to " + inter.getJSONArray("salary_range").getString(1)); 
         jobItem.setdescription(inter.getString("description")); 
         names.add(inter.getString("company_name")); 
         names.add(inter.getString("industry_selected")); 
         names.add(inter.getString("title")); 
         // names.add(inter.getString("description")); 
         applyJobItems.add(jobItem); 
         android.util.Log.e("Company name", inter.getString("company_name")); 
        } 

         ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(apply.this, android.R.layout.simple_list_item_2, names); 
         final boolean isCareer = jsonObject.getBoolean("careerUpdated"); 
         android.util.Log.e("Entered ", "1"); 
         applyJobAdapter = new ApplyJobAdapter(apply.this, applyJobItems, isCareer); 
         android.util.Log.e("Entered ", "2"); 
         ListView mylistview = (ListView) findViewById(R.id.list); 
         android.util.Log.e("Entered ", "3"); 
         mylistview.setAdapter(applyJobAdapter); 
         android.util.Log.e("Entered ", "4"); 


         mylistview.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
          @Override 
          public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 
           Intent intent = new Intent(getApplicationContext(), applypage.class); 
           intent.putExtra("careerUpdate", isCareer); 
           intent.putExtra("position", position); 
           startActivity(intent); 
          } 
         }); 
+0

'.has'属性可以帮助我认为 – Ronnie

回答

0

使用inter.has("company_name")检查company_name关键在你JSONObject存在与否。

//... 
jobItem.setdescription(inter.getString("description")); 

if(inter.has("company_name")){ 
    names.add(inter.getString("company_name")); 
    names.add(inter.getString("industry_selected")); 
    names.add(inter.getString("title")); 
    applyJobItems.add(jobItem); 
    android.util.Log.e("Company name", inter.getString("company_name")); 
} else { 
    android.util.Log.e("Company name", "Not exist"); 
} 
0

你可以在你的JSONObject检查 'COMPANY_NAME' 键的存在与否 -

if(inter.has("company_name")) 
    //Continue you processing 
else 
    //Stop reading the data