Как десериализовать JSON в плоскую, похожую на карту структуру?

Имейте в виду, что структура JSON заранее неизвестна, то есть она полностью произвольна, мы знаем только, что это формат JSON.

Например,

Следующий JSON

{
   "Port":
   {
       "@alias": "defaultHttp",
       "Enabled": "true",
       "Number": "10092",
       "Protocol": "http",
       "KeepAliveTimeout": "20000",
       "ThreadPool":
       {
           "@enabled": "false",
           "Max": "150",
           "ThreadPriority": "5"
       },
       "ExtendedProperties":
       {
           "Property":
           [                         
               {
                   "@name": "connectionTimeout",
                   "$": "20000"
               }
           ]
       }
   }
}

Должны быть десериализованы в структуру, подобную Map, имеющую ключи наподобие (не все вышеперечисленное включено для краткости):

port[0].alias
port[0].enabled
port[0].extendedProperties.connectionTimeout
port[0].threadPool.max

Сейчас я смотрю на Джексона, поэтому у нас есть:

TypeReference typeRef = new TypeReference() {};
Map o = objectMapper.readValue(jsonString, typeRef);

Тем не менее, получающийся в результате экземпляр Map представляет собой карту вложенных карт:

{Port={@alias=diagnostics, Enabled=false, Type=DIAGNOSTIC, Number=10033, Protocol=JDWP, ExtendedProperties={Property={@name=suspend, $=n}}}}

Пока мне нужна плоская карта с использованием плоских ключейточечная нотация, как указано выше.

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

Ответы на вопрос(7)

Ваш ответ на вопрос