Лучшая практика для анализа объекта JSON на клиенте в Java и Android - PullRequest
2 голосов
/ 26 августа 2010

В моем клиенте Android я хочу получать объекты JSON с сервера. Путем поиска в Google я нашел много разных способов, как лучше всего проанализировать InputStream с Сервера, но большинство из них написали свой собственный анализатор. Разве нет библиотеки, которая делает это для меня? Или как мне лучше всего это реализовать самостоятельно?

Ответы [ 5 ]

9 голосов
/ 15 мая 2011

Ты что, шутишь? Существует более дюжины парсеров JSON на платформе Java, и большинство отлично работает на Android (см. http://json.org/).. Два наиболее часто рекомендуемых варианта: Джексон и Гсон , и оба хорошо работают, чтобы позволить вам не только анализировать и записывать JSON, но и связывать данные JSON непосредственно с POJO и из них.

3 голосов
/ 26 августа 2010

Вы можете использовать встроенный JSONTokener .В этой ссылке есть пример, показывающий, как его использовать.

Чтобы получить ответ в виде строки:

InputStream stream = httpResponse.getEntity().getContent();
BufferedReader br = new BufferedReader(new InputStreamReader(stream));
StringBuilder sb = new StringBuilder();
String line = null;

while ((line = br.readLine()) != null) {
  sb.append(line + "\n");
}

br.close();
String result = sb.toString();
2 голосов
/ 29 октября 2010
 private static String convertStreamToString(InputStream is) {

        BufferedReader reader = new BufferedReader(new InputStreamReader(is));

        StringBuilder sb = new StringBuilder();

        String line = null;

        try {

            while ((line = reader.readLine()) != null) {

                sb.append(line);

            }

        } catch (IOException e) {

            e.printStackTrace();

        } finally {

            try {

                is.close();

            } catch (IOException e) {

                e.printStackTrace();

            }

        }

        return sb.toString();

    }

вы можете проанализировать ввод в json по этому коду ... надеюсь, это будет полезно для вас

0 голосов
/ 26 августа 2010

Пример Wiktionary в SDK получает содержимое как InputStream, превращает его в String, а затем создает новый org.json.JSONObject (String) для анализа результата.

0 голосов
/ 26 августа 2010

Начиная с Java 7 нет никакого пакета , встроенного в Sun Oracle Java-дистрибутив для анализа JSON;для андроида есть как минимум org.json, хотя, видимо, некоторым разработчикам это не нравится.

Есть, конечно, много сторонних вариантов.

У меня очень легкий JSONанализатор, который вы можете использовать для анализа потока содержимого HTTP.Это абсолютно бесплатно, используйте на свой страх и риск и т. Д., И т. Д.Подробности и скачать на моем сайте .В Android VM он должен работать просто отлично.

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