Android-строка в Twitter для Json Array - PullRequest
1 голос
/ 11 марта 2012

У меня есть URL для канала Twitter, и я создал из него строку, и я хочу поместить ее в JSONArray, чтобы я мог перезванивать отдельные элементы.В данном случае - «текст».

Вот этот json

Вот мой код :

try {
   // Create a new HTTP Client
   DefaultHttpClient defaultClient = new DefaultHttpClient();
   // Setup the get request
   HttpGet httpGetRequest = new HttpGet(
         "https://api.twitter.com/1/statuses/user_timeline.json?screen_name=evostikleague&count=10");

   // Execute the request in the client
   HttpResponse httpResponse = defaultClient.execute(httpGetRequest);
   // Grab the response
   BufferedReader reader = new BufferedReader(new InputStreamReader(
         httpResponse.getEntity().getContent(), "UTF-8"));
   String json = reader.readLine();

   // Instantiate a JSON object from the request response
   JSONObject obj = new JSONObject(json);
   List<String> items = new ArrayList<String>();

   JSONArray jArray = obj.getJSONArray(json);

   for (int i = 0; i < jArray.length(); i++) {
      JSONObject oneObject = jArray.getJSONObject(i);
      items.add(oneObject.getString("text"));
      Log.i("items", "items");
   }

   setListAdapter(new ArrayAdapter<String>(this, R.layout.single_item,
         items));
   ListView list = getListView();
   list.setTextFilterEnabled(true);

   list.setOnItemClickListener(new OnItemClickListener() {

      public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
            long arg3) {
         // TODO Auto-generated method stub
         Toast.makeText(getApplicationContext(),
               ((TextView) arg1).getText(), 1000).show();
      }

   });

} catch (Exception e) {
   // In your production code handle any errors and catch the individual exceptions
   e.printStackTrace();
}

Ответы [ 2 ]

1 голос
/ 11 марта 2012

Вы пытаетесь проанализировать ответ как JSONObject ({}), в то время как это JSONArray ([]).Вы, вероятно, должны удалить строку:

// Instantiate a JSON object from the request response
JSONObject obj = new JSONObject(json);

, вместо этого вам нужно:

JSONArray jArray = new JSONArray(json);
0 голосов
/ 06 мая 2014

Сначала нам нужно сделать объект JSON. Например,

JSONObject jsonObject = new JSONObject(resp); 

jsonObject может содержать другие объекты JSON или массив JSON. Как конвертировать JSON зависит от строки.

JSONArray arr  = jsonObject.getJSONArray("arraykey");

Полный пример с некоторыми пояснениями о массиве JSON String to JSON можно найти по адресу http://www.hemelix.com/JSONHandling

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...