2013-09-16 1 views
0

Впервые я делаю это, поэтому вам нужна помощь. У меня есть json-файл https://api.github.com/gists/public , и я хочу получить его данные только «login» и «id» под тегом пользователя. Пожалуйста, помогите.Данные из json

Рассматривая примеры, я попытался извлечь данные из следующего кода и помещать контент в журнал, но содержимое журнала и содержание в URL-адресе разные.

try { 
      HttpClient client = new DefaultHttpClient(); 
      HttpGet request = new HttpGet(); 
      request.setURI(new URI("https://api.github.com/gists/public")); 
      HttpResponse response = client.execute(request); 
      InputStream ips = response.getEntity().getContent(); 
      BufferedReader buf = new BufferedReader(new InputStreamReader(ips, 
        "UTF-8")); 

      StringBuilder sb = new StringBuilder(); 
      String s; 
      while (true) { 
       s = buf.readLine(); 
       if (s == null || s.length() == 0) 
        break; 
       sb.append(s); 
       JSONArray ja = new JSONArray(s); 

       for (int i = 0; i < ja.length(); i++) { 
        JSONObject jo = (JSONObject) ja.get(i); 
        //items.add(jo.getString("text")); 
        Log.v("json", "json object : " + jo.getString("user")); 
       } 
       Log.v("json", "json file : " + sb); 
      } 
      buf.close(); 
      ips.close(); 

     } catch (URISyntaxException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } catch (ClientProtocolException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } catch (IOException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } catch (JSONException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } finally { 
      // any cleanup code... 
     } 
+0

также размещаем ваш JSON ARRAY здесь, что будет более ясным, как его решить –

ответ

0

На самом деле "user" является JSONObject, поэтому, во-первых, вы должны получить, что JSONObject, а затем принести в String с в нем. Сделайте это в петле for.

JSONObject obj = jo.getJSONObject("user"); 
String login = obj.getString("login"); 
String id = obj.getString("id"); 
+0

Спасибо, у меня осталось время :) – jad

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