java有没有不同报文格式、字段之间映射的工具或框架

发布于 2022-05-22 07:08:43 字数 989 浏览 884 评论 13

我们知道各业务系统之间通讯,需要交换报文,而每个厂商开发的业务系统,定义的报文格式和字段命名不尽相同。如果有A、B两个系统之间要对接,最笨的方法就是,其中一个系统A基于另一个系统B的报文规则去做适配改造,即让A、B两个系统之间的报文格式,字段名称,甚至通讯协议都保持一致。

如果不采用上述方式,而是在A、B两系统之间提供一个转换(映射)程序,实现两个系统之间的灵活映射,这样就不需要A和B系统做任何改造,像ESB之类的产品可以实现这种转换,但比较笨重,也有xml与json之间互转的开源包(比如json-lib),但这种转换太过简单,希望有一种比较轻量级的开源包,能够实现如下转换:

场景1:

<root>
  <name>小李子</name>
</root>

映射为

<data>
  <person>
    <username>小李子</username>
  </person>
</data>

 

场景2:

<root>
  <name>小李子</name>
</root>

映射为

{
  "data":{
    "students":{
      "student":{
        "username":"小李子"
      }
    }
  }
}

也就是既能在不同报文格式之间映射互转,也能在不同字段名称之间映射互转,实现两个业务系统之间报文的兼容性。

不知市面上是否有这类开源的API工具,或者可供参考的类似工具,使自己开发有个思路。当然要尽可能地轻量。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(13

紅太極 2022-05-28 05:19:37

可以用smooks框架哦

预谋 2022-05-28 05:19:35

开发层面的没见过能直接转的,但是也没见过这种需求的。拿你例子中AB两个系统,A发给B的肯定是A经过逻辑处理得到的报文,也就是POJO转B格式,不会是A格式转B格式

白鸥掠海 2022-05-28 05:19:34

有这样的方案 ?求 解!!!

陌路终见情 2022-05-28 05:19:31

smooks框架

随风而去 2022-05-28 05:19:31

程序接口统一输出格式比如一层map,定义个输出表,使用jsonPath定义输出字段。根据不同系统输出维护输出表就行。

墨落画卷 2022-05-28 05:19:30

作者找到解决方案了吗?最近刚好也有类似的需求

一口甜 2022-05-28 05:19:11

XStream 对象和xml之间的转换

Jackson 对象和json之间的转换

 

所以:xml==》对象==》json

旧竹 2022-05-28 05:15:42

收集报文池,用于报文对比之类的项目有没

划一舟意中人 2022-05-28 04:43:24

请问你的解决方案是啥

沉鱼一梦 2022-05-28 00:28:27

引用来自“凡行”的评论

Jackson,对XML,json等常用格式都有支持

梅窗月明清似水 2022-05-27 18:42:42

但需要针对一个个接口实现java代码的开发哦,如果报文字段之间的转换能用非编码或配置文件的方式来实现就最好了

国产ˉ祖宗 2022-05-27 12:40:03

jaxb支持对象与xml,

逆光飞翔i 2022-05-24 17:10:46

Jackson,对XML,json等常用格式都有支持

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文