Android JSONObject vs. GSON - PullRequest
       4

Android JSONObject vs. GSON

26 голосов
/ 14 ноября 2011

Я не могу понять разницу между JSONObject и GSON для анализа строк JSON в Android.

Может кто-нибудь объяснить?

Ответы [ 4 ]

35 голосов
/ 14 ноября 2011

GSON может использовать определение объекта для непосредственного создания объекта нужного типа. JSONObject необходимо проанализировать вручную. Вот главное отличие.

4 голосов
/ 30 января 2013

, как говорили другие, GSON должно значительно упростить отображение JSON на POJO, НО, последняя версия GSON (как я пишу, 2.2.2) имеет серьезные проблемы с последним Android API 17 (Android 4.2).

Проверьте это для информации: http://code.google.com/p/google-gson/issues/detail?id=496

Если вы сейчас создаете новый проект и хотите, чтобы он был совместим с Android 4.2, либо используйте более старую версию GSON (1.7.1 отлично работает с Android 4.2, но медленнее), либо найдите другое решение.

2 голосов
/ 17 апреля 2015

То, что Тим сказал правильно,

Gson - лучший API для анализа JSON на Android. Имеет очень маленький двоичный размер (до 200 КиБ), обеспечивает быстрое связывание данных и имеет простой простой в использовании API. Встроенные JSON библиотеки Android тоже хороши. Вы следует использовать их, если вы не делаете много JSON и не нуждаетесь привязки данных.

0 голосов
/ 04 декабря 2015

На Android есть два API-интерфейса JSON:

org.json - это простой API в стиле дерева. Это самая большая слабость в том, что это требует, чтобы вы загрузили весь документ JSON в строку, прежде чем могу разобрать это. Для больших документов JSON это может быть неэффективно. http://developer.android.com/reference/org/json/package-summary.html

android.util.JsonReader / JsonWriter - это низкоуровневые потоковые API. Они эффективны, но не привязывают данные, поэтому вам нужно написать стандартный код, чтобы использовать их. Они доступны только в Android 3+. Для более ранних версий Android тот же API доступен автономно в пакете потока Гсона. http://developer.android.com/reference/android/util/JsonReader.html

Gson JsonReader и JsonWriter являются производными от Android JsonReader и JsonWriter. Я буквально скопировал и вставил их из Android в Gson однажды, и постарайтесь синхронизировать их, пока я оптимизирую Другой.

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