【问题标题】:How to transform xml into Json using velocity template?如何使用速度模板将 xml 转换为 Json?
【发布时间】:2014-05-15 09:50:58
【问题描述】:

我有一个 Apache camel 应用程序,它在 rest 服务和 web 服务之间进行调解。 Rest 服务是调用者,Web 服务是后端。我已经取得了进展,直到我从 Web 服务获得响应并将其转换为 xml。现在我必须以特定格式(比如一些额外的事务和会话 ID)向我的调用者发送 JSON 响应,从 xml 中提取数据。我有哪些可用的选项?是否有任何工具可以使用 XSD 创建脚本化 JSON 模板,或者我必须手动编写脚本?如果我们必须使用第二个选项,我必须使用什么脚本语言?

换句话说,我想编写一个从 xml 文件中提取数据的速度模板。我不确定这样做的最佳方法是什么。

提前谢谢你。

【问题讨论】:

    标签: xml json apache-camel velocity


    【解决方案1】:

    我的意见是,你应该先把你的 XML 转换成 DTO,然后再把你的 DTO 转换成 Json。您应该将架构拆分为不止一层。数据访问层将处理 WS 调用,而控制器将知道如何应答 REST 调用。 Velocity 只是一个模板引擎,而不是一个转换工具。你应该检查 Jackson 或 Gson。希望这会有所帮助

    编辑:如果您想要 DTO 的特定格式,您可以扩展 Jacksons 转换器,或者如果您只想使用 Velocity,只需渲染它,将您的 DTO 放入 VelocityContext,然后像往常一样使用它,但我不要认为这是最好的方法。

    【讨论】:

    • 谢谢塞巴斯坦。我完全废弃了速度模板。转换后的 DTO 很好地达到了目的。再次感谢。
    猜你喜欢
    • 2021-11-24
    • 2020-02-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-07
    • 2011-04-08
    • 2012-10-12
    • 2022-01-21
    相关资源
    最近更新 更多