Это не должно быть слишком сложно ... но я, кажется, слеп, и сам не могу найти ответ.
Используя Джексона, я бы хотел десериализовать любой * * JSON на карте Java. Часть Array
создает проблему.
любой json может выглядеть следующим образом: { "foo": "bar" }
или { "test": [ { "a": 123, "b": "erny" }, { "a": ... and so on
они должны десериализоваться в (псевдокод) :
Map( foo => "bar" )
Map( test => Array(
Map( a => 123, b=>erny ),
Map( a => ... and so on
) )
Мне не безразличны типы массивов и карт, если они есть, и типы значений. (Но было бы неплохо, если бы целые числа были представлены как таковые.)
Если я попытаюсь om.readValue( json, Map.class )
, я получу Невозможно десериализовать экземпляр java.lang.String
из START_ARRAY Ошибка, если json содержит массив.
Я использую Джексона довольно успешно для всех моих сложных JSON вещей, но как сделать простой?
ПРИМЕЧАНИЕ: Джексон делает именно то, что я хочу сделать с помощью синтаксиса выше. Проблема была ошибка в моем json. Так что этот вопрос не имеет смысла.
**) любой не совсем верно. Каждый JSON, который я использую, является картой на самом низком уровне.