Короткий ответ: вы не можете, по крайней мере, не в текущем формате с присутствующей этой гнусной звездочкой. Поэтому мы должны будем использовать немного хакеров здесь, чтобы выполнить эту работу, и я предупреждаю вас заранее, что это будет не так.
Во-первых, скопируйте этот ответ, затем перейдите к http://www.jsonschema2pojo.org/ и вставьте его в текстовое поле JSON. Вставив его, измените звездочку на нечто более цивилизованное, например «контент». Выберите JSON (по умолчанию JSON Schema) для типа источника, введите свой пакет и имя корневого класса соответственно и нажмите JAR, чтобы сгенерировать пакет со всеми POJO, которые соответствуют этой JSON. Вы также можете нажать «Предварительный просмотр» и скопировать код в исходные файлы - это действительно зависит от вас. .
Теперь, когда мы имеем действительную версию этой JSON структуры, мы используем Джексон, чтобы прочитать его в случае, если ваш JSON строка называется jsonResponse и соответствующий класс POJO является MediaWiki, то преобразовать его с Джексоном, как это:
ObjectMapper objectMapper = new ObjectMapper();
objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
MediaWiki mw = objectMapper.readValue(profileJson, MediaWiki.class);
Ключевым здесь является FAIL_ON_UNKNOWN_PROPERTIES, установленное на false, что означает, что он будет игнорировать эту звездочку и создать для вас все остальное.
Теперь, чтобы на самом деле захватить любое значение для этой звездочки и сохранить его в нашем атрибуте «content» (или что бы вы хотели заменить звездочкой), вам придется проанализировать эту присоску на стороне клиента и передать его в качестве отдельного входного параметра, и чтобы сделать это, вам придется дергать его по телефону что-то вроде этого:
var content = query.pages.290.revisions["*"];
Этот параметр содержимое передается и сохраняется его в атрибут содержимого вашего Pojo в.
Я знаю, что это большая работа, и если у кого-то еще есть более элегантное решение, поделитесь им. Как я уже сказал, моя не будет красивой. :-)
Сначала получите ключи, а затем найдите эти ключи во втором проходе. Каждый раз, когда вы углубляетесь, и есть ключ, его другой проход, пока не будет никаких ключей. Таким образом, вы создадите массив ключей –