2013-04-29 3 views
0

Я пытаюсь разобрать массив из моего php-скрипта в мое приложение для Android. мой андроид кодпытается получить json-объект от php до android

public void func4(View view)throws Exception 
{final String TAG_CONTACTS = "response"; 
    AsyncHttpClient client = new AsyncHttpClient(); 
    RequestParams rp = new RequestParams(); 
    rp.put("pLat", "SELECT officer_name FROM iwmp_officer"); 

    client.post("http://10.0.2.2/conc3.php", rp, new AsyncHttpResponseHandler() { 
     public final void onSuccess(String response) { 
      // handle your response here 
      ArrayList<String> User_List = new ArrayList<String>(); 


      try 
     { 
     JSONArray jArray = new JSONArray(response.toString()); 
     // JSONObject jsonObject = new JSONObject(response); 
     for (int i = 0; i < jArray.length(); i++) 
     { 
      JSONObject json_data = jArray.getJSONObject(i); 



     User_List.add(json_data.getString(TAG_CONTACTS)); 
     String s = User_List.get(0).toString(); 
     tx.setText(s); 
     } 

     } 
      catch (Exception e) 
     { 
       tx.setText((CharSequence) e); 
     } 

     } 

     @Override 
     public void onFailure(Throwable e, String response) { 
      // something went wrong 
      tx.setText(response); 
     }    
    }); 
} 

теперь я посылаю или повторив массив JSON из моего PHP код, который читается в объект ответа строкового типа.

<?php $cars=array("Volvo","BMW","Toyota"); $arrlength=count($cars); echo json_encode($cars); exit; ?>

Теперь ошибки я получаю org.json.JSONException: Значение Volvo в 0 типа java.lang.String не могут быть преобразованы в JSONObject

я думаю Тар OnSuccess FUNC принять параметр string и im отправить json в качестве параметра к нему .. thats, что вызывает проблему, пожалуйста, помогите.

+0

Что исключение сказать? Это приложение fuction, которое пытается найти объект JSON, где действительно есть значение String. –

ответ

1

Try Как это

JSONObject json = jsonParser.makeHttpRequest(url_get_contact, "GET", params); 
     Log.d("All Groups: ", json.toString()); 
     try { 
      int success = json.getInt(TAG_SUCCESS); 
      if (success == 1) { 
       groups = json.getJSONArray(TAG_GROUP); 
       System.out.println("Result Success+++"+groups); 
       for (int i = 0; i < groups.length();i++) { 
       JSONObject c = groups.getJSONObject(i); 
       String name = c.getString(TAG_CONTACTS); 
       System.out.println("Checking ::"+name); 
      namelist.add(name); // namelist is ur arraylist 
       } 
      }else {    
       showAlert(); 
      } 
     } catch (JSONException e) { 
      e.printStackTrace(); 
     } 
     return null; 

Позвольте мне знать, ур проблема решена или нет ...

+0

Следует отметить источник внешних или сторонних классов или API! Класс JSONParser (синонимом): androidhive.info/2012/01/android-json-parsing-tutorial –

0

Ответ получен, я думаю, я пытался преобразовать уже преобразованный объект String из json в строку снова. а точнее i ust удален JSONObject json_data = jArray.getJSONObject (i); и это сработало для меня. Теперь я могу сохранить все значения в моем массиве.

Смежные вопросы