Как получить данные от Json в Android?

1

В моем приложении мне нужно получить некоторые данные с сервера. В eclipse я получаю такие данные:

[{"id_category":"1","category_name":"Cool"},{"id_category":"2","category_name":"Glamor"},{"id_category":"3","category_name":"Funky"},{"id_category":"4","category_name":"Crazy"},{"id_category":"5","category_name":"David Guetta"}] без имени.

Я попробовал что-то вроде этого:

if (response != null) {
                responseBody = EntityUtils.toString(response.getEntity());
                System.out
                        .println("Rezultat de la server pentru a afla categoriile:"
                                + responseBody);
try {
                    final String r = response.toString();
String name = json.getString("category name");
System.out.println("One category"+name);
                } catch (JSONException e) {
                    // do nothing
                } catch (FacebookError e) {
                    e.getMessage();
                }

но ничего не происходит. Как я могу получить id_category и category_name из моего ответа? Может кто-нибудь мне помочь? Заранее спасибо.

Теги:
get

2 ответа

1
Лучший ответ

Вот как вы разбираете JSON... Надеюсь, это сработает.

    JSONArray jArray = new JSONArray(r);
    for(int i=0;i<jArray.length();i++){
            JSONObject jsdata = jArray.getJSONObject(i);
            String myString = jsdata.getString("id_category");
            String myString2 = jsdata.getString("category_name");
}
  • 0
    Ничего не происходит, и я не понимаю, почему. Я поставил JSONArray jArray = new JSONArray (r); System.out.println ("легкое" + jArray.length ()); for (int i = 0; i <jArray.length (); i ++) {JSONObject jsdata = jArray.getJSONObject (i); String myString = jsdata.getString ("id_category"); String myString2 = jsdata.getString ("имя_категории"); System.out.println («Имя категории» + myString2); } но я не вижу ничего в DDMS
  • 0
    Вы уверены, что строка JSON выглядит так, как вы показали? Какова длина массива JSON?
Показать ещё 5 комментариев
1

Попробуйте использовать Google Gson https://sites.google.com/site/gson/gson-user-guide

Он доступен для maven

Ещё вопросы

Сообщество Overcoder
Наверх
Меню