Если у вас нет такого пакета, вы можете попробовать:
def json2xml(json_obj, line_padding=""):
result_list = list()
json_obj_type = type(json_obj)
if json_obj_type is list:
for sub_elem in json_obj:
result_list.append(json2xml(sub_elem, line_padding))
return "\n".join(result_list)
if json_obj_type is dict:
for tag_name in json_obj:
sub_obj = json_obj[tag_name]
result_list.append("%s<%s>" % (line_padding, tag_name))
result_list.append(json2xml(sub_obj, "\t" + line_padding))
result_list.append("%s</%s>" % (line_padding, tag_name))
return "\n".join(result_list)
return "%s%s" % (line_padding, json_obj)
Например:
s='{"main" : {"aaa" : "10", "bbb" : [1,2,3]}}'
j = json.loads(s)
print(json2xml(j))
Результат:
<main>
<aaa>
10
</aaa>
<bbb>
1
2
3
</bbb>
</main>
Я настоятельно рекомендую вам обновить приложение, поскольку Spring 1.x скоро достигнет своего EOL .
Если вы не можете сделать это за один шаг, начиная с 1.4.x напрямую до 2.x, вы можете делать это шаг за шагом, всегда проверяя, автоматически ли следующий шаг обновления решит и вашу проблему. Хорошо настроенное приложение Spring Boot должно автоматически сериализовать вашу карту прямо из коробки.
Кроме того, вы можете проанализировать свои pom.xml
для любых неуправляемых библиотек Джексона.
Практическое правило: придерживайтесь как можно дольше управляемых зависимостей Spring Boot, чтобы избежать конфликтов версий и нежелательного поведения.