Как преобразовать данные сериализации Java в JSON?JAVA

Программисты JAVA общаются здесь
Anonymous
Как преобразовать данные сериализации Java в JSON?

Сообщение Anonymous »

Приложение, предоставленное поставщиком, которое мы поддерживаем, хранит (некоторые из) своих конфигураций в форме «Данные сериализации Java, версия 5». Более внимательное рассмотрение показывает, что фактическое содержимое представляет собой java.util.ArrayList с несколькими десятками элементов одного и того же типа, специфичного для поставщика (

Код: Выделить всё

vendor.apps.datalayer.client.navs.shared.api.Function
).
Поскольку мы стремимся развернуть и настроить экземпляры этого приложения с помощью Ansible, нам хотелось бы, чтобы все файлы конфигурации были удобочитаемыми для человека и подчинялись < em>textual контроль версий.
С этой целью нам нужно иметь возможность декодировать двоичные данные сериализации Java в какую-либо удобочитаемую форму - желательно , JSON. Этот JSON также необходимо преобразовать обратно в тот же формат сериализации Java, чтобы приложение могло его прочитать.
Принятый ответ на предыдущий вопрос по этой теме основан на Java:
  • Прочитайте данные сериализации Java с помощью ObjectInputStream, приведя их к известному типу, создав таким образом экземпляр каждого объекта.
  • Запишите его обратно, используя GSON.
Хотя этот подход и удобен в использовании, он не идеален для нас, потому что:
  • для этого требуется полное знание типа поставщика, сериализованного в данных, хотя нам не нужно создавать экземпляры объектов;
  • мы бы предпочли, чтобы это было скрипт Python, который мы могли бы интегрировать в Ansible.
Для этого существует модуль Python, но пользовательские классы, похоже, требуют предоставления собственного кода Python - - много пользовательского кода - даже если все поля класса сами имеют стандартные Java-типы.
Насколько я понимаю, сериализованные данные сами по себе уже предоставляют всю необходимую информацию -- нет необходимости обращаться к определениям классов, если только вы не хотите вызвать методы класса, чего мы не делаем...

Подробнее здесь: https://stackoverflow.com/questions/790 ... -into-json

Вернуться в «JAVA»