Я хочу иметь возможность доступа к свойствам из строки JSON в моем методе Java action. Строка доступна, просто произнеся myJsonString = object.getJson(). Ниже приведен пример того, как может выглядеть строка:
В этой строке каждый объект JSON содержит массив других объектов JSON. Цель состоит в том, чтобы извлечь список идентификаторов, в котором любой данный объект, обладающий групповым свойством, содержит другие объекты JSON. Я рассмотрел Google Gson как потенциальный плагин JSON. Кто-нибудь может предложить какие-либо рекомендации относительно того, как я могу сгенерировать Java из этой строки JSON?
Переведено автоматически
Ответ 1
Я рассмотрел Google Gson как потенциальный плагин JSON. Кто-нибудь может предложить какие-либо рекомендации относительно того, как я могу сгенерировать Java из этой строки JSON?
Google Gson поддерживает дженерики и вложенные компоненты. [] В JSON представляет массив и должен соответствовать коллекции Java, такой как List или просто обычному массиву Java. {} В JSON представляет объект и должен соответствовать Java Map или просто некоторому классу JavaBean.
У вас есть объект JSON с несколькими свойствами, из которых groups свойство представляет массив вложенных объектов одного и того же типа. Это можно проанализировать с помощью Gson следующим образом:
Будьте уверены в Gson! Это очень круто, просто великолепно, но как только вы захотите сделать что-нибудь, кроме простых объектов, вам легко может понадобиться начать создавать свои собственные сериализаторы (что не так сложно).
Кроме того, если у вас есть массив объектов, и вы десериализуете часть json в этот массив объектов, истинные типы ТЕРЯЮТСЯ! Полные объекты даже не будут скопированы! Используйте XStream .. Который, при использовании jsondriver и установке надлежащих настроек, будет кодировать уродливые типы в фактический json, так что вы ничего не потеряете. Небольшая цена (уродливый json) за настоящую сериализацию.
Обратите внимание, что Jackson устраняет эти проблемы и работает быстрее, чем GSON.
Ответ 3
Как ни странно, единственным достойным процессором JSON, упомянутым до сих пор, был GSON.
Вот еще несколько хороших вариантов:
Jackson (Github) - мощная привязка данных (JSON к / из POJOs), потоковая передача (сверхбыстрая), древовидная модель (удобная для нетипизированного доступа)