2015-10-02 3 views
-2

Я получаю данные json с моей страницы php на основе значения ID. PHP прекрасно и я получаю данные JSON + выводит его на текстовое поле Я хочу это в за исключением, она поставляется с это скобки и таблицы. Имя:Правильное получение данных JSON

[{"analysis":TEST TEST TEST TEST}] 

Как сделать выход только «TEST TEST TEST "часть моего json-вывода вместо того, чтобы выводить все это?

мой асинхронной класс

private class AsynMatchAnalysis extends AsyncTask<String, Void,String> { 


     @Override 
     protected String doInBackground(String... params) { 
      // Create a new HttpClient and Post Header 
      HttpClient httpclient = new DefaultHttpClient(); 
      HttpPost httppost = new HttpPost("http://192.168.0.3/ex/match_analysis.php"); 


      String jsonResult = ""; 
      try { 
       // Add your data 
       List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(1); 

       nameValuePairs.add(new BasicNameValuePair("ID", passedID.toString())); 
       httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs)); 
       // Execute HTTP Post Request 
       HttpResponse response = httpclient.execute(httppost); 

       HttpEntity entity = response.getEntity(); 
       InputStream webservice = entity.getContent(); 

       try { 
        BufferedReader reader = new BufferedReader(new InputStreamReader(webservice, "iso-8859-1"), 8); 

        analysisView.setText("" + reader.readLine()); 
        webservice.close(); 
       } catch (Exception e) { 
        Log.e("log_tag", "error converting result " + e.toString()); 
       } 


       // jsonResult = response.getEntity().getContent().toString(); 
       // passedView.append("" + jsonResult.toString()); 
       //System.out.println(jsonResult.toString()); 
      } catch (IOException e) { 

      } 
      return null; 


     } 

} 

Editted для ясности

+0

уточните, что вы спрашиваете, а также исправьте строку json – Aakash

+0

Это JSON; проанализируйте его, сделайте то, что вы хотите с ним. –

+0

Вы должны проанализировать свой ответ, как вам сказали. Проверьте здесь http://stackoverflow.com/questions/15801247/parsing-a-json-array-from-http-response-in-java –

ответ

0

Вам нужно разобрать JSON для этого, как если JSON имеет следующий вид:

[{"analysis":"abc","key2":"value"}] 

Это как ваш синтаксический анализ JSON

//your jsonResult 
JSONArray json_array=new JSONArray(jsonResult.toString()); 
for(int i=0;i< json_array.length ;i++){ 
if(json_array.getJSONObject(i).has("analysis")){ 
    System.out.println(json_array.getJSONObject(i).getString("analysis")); 
    } 
if(json_array.getJSONObject(i).has("key2")){ 
    System.out.println(json_array.getJSONObject(i).getString("key2")); 
    } 
} 
+0

Для получения дополнительной информации вы можете проверить https://androidbeasts.wordpress.com/2015/08/04/json-parsing-tutorial/ – Aakash

+0

Спасибо за ссылку, это помогло! –

+0

, пожалуйста, отметьте как правильно, если это помогло – Aakash

0

Я закончил тем, что начал работать. Я ценю помощь, оказанную вами, ребята!

BufferedReader reader = new BufferedReader(new InputStreamReader(response.getEntity().getContent(), "UTF-8")); 
        StringBuilder builder = new StringBuilder(); 
        for(String line = null; (line = reader.readLine()) !=null;){ 
         builder.append(line).append("\n"); 
        } 
        JSONTokener tokener = new JSONTokener(builder.toString()); 
        JSONArray finalAnswer = new JSONArray(tokener); 

        for(int i = 0; i < finalAnswer.length(); i++) { 

         JSONObject jsonChildNode; 

         try { 


          jsonChildNode = finalAnswer.getJSONObject(i); 

          String analysis = jsonChildNode.getString("analysis"); 

          analysisView.setText(analysis.toString()); 
         } catch (Exception e) { 

         } 
        } 
       } 
        catch (Exception e) { 
        Log.e("log_tag", "error converting result " + e.toString()); 
       }