在我的项目中,我们以前使用 groovy.util.slurpersupport.NodeChild 来获取来自REST API的应用程序/ xml内容类型响应。
现在,我们要支持来自REST API的应用程序/ json内容类型响应。对于application / json内容类型,响应 groovy.json.internal.LazyMap 类位于groovy中。
groovy.util.slurpersupport.NodeChild 类在许多类中使用。如果我可以将groovy.json.internal.LazyMap转换为 groovy.util.slurpersupport.NodeChild ,那么我的工作将会很容易。
是否可以从 groovy.json.internal.LazyMap 转换为 groovy.util.slurpersupport.NodeChild 。
如果有更好的方法可以做到这一点,请提出建议。
答案 0 :(得分:0)
您可以使用类似this answer之类的东西将JSON转换为XML并重新构造它。
但是,这有点...听起来好像您基本上是在内部传递XML。编写一个内部传递的DTO / POGO,然后将序列化器/反序列化器本地化到需要向其他服务说JSON / XML / other的应用程序边界,可能会更干净。这将使支持将来的交换格式成为一个问题,即“如何从有效载荷中获取这8个字段以构建对象”,而不是“如何将formatX转换为XML”。