2012-05-25 4 views
0

Я хотел бы знать, как преобразовать ответ HTTP с сервера в надлежащем оформленной массив JSONJSON преобразования

 try { 
      HttpClient httpClient = new DefaultHttpClient(); 
      HttpPost postRequest = new HttpPost(
        "http://riffre.com/chatapp/search.php?format=json"); 
      postRequest.setEntity(new UrlEncodedFormEntity(nameValuePair)); 
      ResponseHandler<String> responseHandler = new BasicResponseHandler(); 
      responsesrch = httpClient.execute(postRequest, responseHandler); 

      Log.v("search response", responsesrch); 

это мой код, где я выкладываю несколько параметров в виде пар имя-значение для сервера и значение responseserch, что я получаю это

{"users":[{"user":{"city":"gurgaon","username":"zxc","userid":"6","gender":"Male","images":"0"}},{"user":{"city":"gurgaon","username":"tarun","userid":"5","gender":"Male","images":"0"}},{"user":{"city":"gurgaon","username":"vips","userid":"4","gender":"Male","images":"0"}},{"user":{"city":"gurgaon","username":"rah","userid":"3","gender":"Male","images":"0"}},{"user":{"city":"gurgaon","username":"aak","userid":"2","gender":"Male","images":"0"}}]} 

и это в строчном формате, поэтому я хотел бы знать, как я могу преобразовать эту строку в массив JSON, я не знаю, но как я должен использовать Входной поток и все эти объекты. Любая помощь поэтому будет очень оценили.

ответ

1

пожалуйста, посмотрите на это, просто

http://www.androidhive.info/2012/01/android-json-parsing-tutorial/

новообращенного IS в строку

try { 
      BufferedReader reader = new BufferedReader(new InputStreamReader(
        is, "iso-8859-1"), 8); 
      StringBuilder sb = new StringBuilder(); 
      String line = null; 
      while ((line = reader.readLine()) != null) { 
       sb.append(line + "n"); 
      } 
      is.close(); 
      json = sb.toString(); 
     } catch (Exception e) { 
      Log.e("Buffer Error", "Error converting result " + e.toString()); 
     } 

преобразовать строку в Json объект

try { 
      jObj = new JSONObject(json); 
     } catch (JSONException e) { 
      Log.e("JSON Parser", "Error parsing data " + e.toString()); 
     } 

прибудет массив из объекта

// Getting Array of Contacts 
    JSONArray contacts = json.getJSONArray("users"); 
+0

Http: //www.androidcompetenc ycenter.com/2009/10/json-parsing-in-android/ –

1

Это пример из моего рабочего кода:

jArray = new JSONArray(result); 
    JSONObject json_data = null; 
    double[] tempLong = null; 
    double[] tempLat = null; 
    for (int i = 0; i < jArray.length(); i++) { 
     json_data = jArray.getJSONObject(i); 
     tempLong = new double[jArray.length()]; 
     tempLat = new double[jArray.length()]; 
     tempLong[i] = json_data.getDouble("longtitude"); 
     tempLat[i] = json_data.getDouble("latitude"); 
    } 

Я уверен, что вы можете адаптировать его для своих нужд

1

с двумя строками кода

JSONObject jObj = new JSONObject(responsesrch.toString()); 
JSONArray jArr=jObj.getJSONArray("users"); 
Смежные вопросы