You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Java序列化数据转换为JSON?适配Ansible部署场景

需求场景

我们维护一款厂商提供的应用,其部分配置以**Java序列化数据(版本5)**的形式存储。经进一步检查,实际内容是一个java.util.ArrayList,包含数十个同一厂商自定义类型vendor.apps.datalayer.client.navs.shared.api.Function的元素。

我们计划使用Ansible部署和配置该应用实例,要求所有配置文件具备可读性,并支持文本化版本控制。为此需要将Java序列化二进制数据解码为可读格式(首选JSON),且该JSON需可转换回原Java序列化格式供应用读取。

现有Java方案的局限性

此前这类问题的公认解决方案基于Java,步骤如下:

  • 使用ObjectInputStream读取Java序列化数据,转换为已知类型并实例化每个对象
  • 使用GSON将对象写出为JSON

但该方案对我们并不理想,原因如下:

  • 即使无需实例化对象,仍需完全掌握数据中序列化的厂商自定义类型细节
  • 我们更倾向于使用可集成到Ansible的Python脚本
尝试Python工具遇到的问题

我们尝试过一款Python模块javaobj-py3,但处理自定义类时需要编写大量自定义Python代码——即便该类的所有字段均为标准Java类型。

我们认为序列化数据本身已包含所有必要信息,除非需要调用类的方法(我们无需此操作),否则无需访问类定义。

内容的提问来源于stack exchange,提问作者Mikhail T.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 08:52:14