Каковы различия между этими двумя классами?
Если кто-то использует библиотеку Gson, предпочтительнее ли использовать com.google.json.JsonObject
org.json.JSONObject
?
Кто-нибудь может перечислить плюсы и минусы этих 2 вариантов?
Каковы различия между этими двумя классами?
Если кто-то использует библиотеку Gson, предпочтительнее ли использовать com.google.json.JsonObject
org.json.JSONObject
?
Кто-нибудь может перечислить плюсы и минусы этих 2 вариантов?
Многие реализации JSON доступны на рынке, и большинство из них - с открытым исходным кодом. Каждый из них имеет определенные преимущества и недостатки.
Google GSON щелкните для официальных документов
Джексон нажмите для официальных документов
Некоторые сравнительные блоги нажмите здесь blogs1, blog2
Я лично сделал тест для сериализации и десериализации с использованием GSON против Jackson vs Simple JSON
Ниже перечислены основные отличия:
1) GSON может использовать определение Object для непосредственного создания объекта требуемого типа. JSONObject необходимо разобрать вручную.
2) org.json - простой API-интерфейс в стиле дерева. Самая большая слабость заключается в том, что он требует, чтобы вы загрузили весь документ JSON в строку, прежде чем сможете ее проанализировать. Для больших документов JSON это может быть неэффективным.
3) Самой большой слабостью реализации org.json является исключение JSONException. Просто не удобно размещать блок try/catch вокруг всех ваших JSON файлов.
4) Gson - лучший API для разбора JSON на Android. Он имеет очень маленький двоичный размер (до 200 KiB), выполняет быструю привязку данных и имеет простой простой в использовании API.
5). GSON и Jackson - самые популярные решения для управления данными JSON в Java-мире.