@yosiaproger

Как добавить префикс «@» к аттрибуту у тега xml, при конвертации в json?

Есть такой код, который получает поток xml, переводит его в json и возвращает строку json
public static String xmlToJson(InputStream inputStream) {
        try {
            InputFactoryImpl inputFactory = new InputFactoryImpl();
            inputFactory.setProperty(XMLInputFactory.IS_NAMESPACE_AWARE, Boolean.FALSE);

            OutputFactoryImpl outputFactory = new OutputFactoryImpl();
            outputFactory.setProperty(XMLStreamProperties.XSP_NAMESPACE_AWARE, Boolean.FALSE);

            XmlMapper xmlMapper = new XmlMapper(new XmlFactory(inputFactory,outputFactory), new JacksonXmlModule());
            xmlMapper.enable(SerializationFeature.INDENT_OUTPUT);

            JsonNode node = xmlMapper.readTree(inputStream);
            ObjectMapper jsonMapper = new ObjectMapper();
            return jsonMapper.writeValueAsString(node);
        } catch (IOException e) {
            e.printStackTrace();
        }
        return "";
    }


Проблема в том, что когда у тега в xml есть аттрибут (testAttr)
62440e58c769d710962161.png
62440ee24256f518246839.png
то конечный json выглядит вот так, что не очень удобно. Хотелось бы к аттрибуту добавить префикс @, чтобы получилось @testAttr. Видел во многих онлайн конвертерах xml -> json такую возможность, но как сделать это с помощью jackson я не знаю.. И да, xml будет приходить в виде потока поэтому вариант с использованием каких-либо аннотаций от jackson не подходит
  • Вопрос задан
  • 75 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы