当前位置: 首页 > 知识库问答 >
问题:

如何使用velocity模板将xml转换为Json?

楚俊逸
2023-03-14

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

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

提前感谢你。

共有1个答案

柯苗宣
2023-03-14

我的观点是,您应该首先将XML转换为DTO,然后将DTO转换为JSON。您应该将您的体系结构拆分为不止一个层。数据访问层将处理WS调用,控制器将知道如何回答REST调用。Velocity只是一个模板引擎,而不是转换工具。你应该查查杰克逊或者格森。希望这能有所帮助

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

 类似资料:
  • 我有一个用例,其中输入数据是xml格式的。它包含多个字段,而我们只感兴趣阅读很少的字段。 根据不同的用例,必须编写单独的velocity模板来将xml转换为json数据。 关于如何编写velocity模板以将XML转换为JSON,我找不到更好的指南。有人能帮助我们如何编写从XML到JSON转换的velocity吗? 提前感谢!

  • 我想将XML转换为JSON(具体地说,是OAI-PMH响应)。我目前正在使用这个节点。JSXML2JS,但问题是JSON非常冗长,有很多嵌套和数组级别,即使只有一个元素作为子元素,并且永远不会超过一个。问题是,不知道XML文件的模式,因此必须保守。 我的问题是,是否有任何其他(最好是JavaScript)代码可以使用XML架构来指导转换过程?因此,如果架构定义了XML的类型和结构,那么JSON就会

  • 问题内容: 对于此测试XML页面,以下代码可以很好地运行: 但是,如何修改此代码以从此欧洲中央银行页面获取利率数据? 参考: http://www.fyneworks.com/jquery/xml-to-json/#tab-用法 使用JavaScript获取数据 问题答案: 请尝试以下方法。我已经在FF 3.6和Chrome 6上对其进行了测试,它可以正常工作。

  • XML输入文件: XML输入文件转换为XML输出文件。将XML输入文件的firstName、middleName和lastName标签合并为XML Ouput文件的name标签,将XML输入文件的address1、address2、city、state和pincode标签合并为XML Ouput文件的address标签。 我几乎转换了代码,但我在这里与empId作斗争。我已经在XSLT文件中手动输

  • 问题内容: 我有以下XML文件,我需要在服务器中将其转换为JSON。最初,我认为我会将其转换为Dictionary,然后使用JavaScriptSerializer将其转换为JSON,但由于每列可能具有不同的值类型,所以我认为它不会起作用。有人在C#/ LINQ中做过类似的事情吗? 我需要保留每列的值类型(布尔,字符串,整数)。 我会很高兴就此提出任何建议,因为我刚刚开始使用XML。谢谢。 问题答

  • 问题内容: 我想将输入的Excel文件转换为输出XML文件。 如果有人在Java中对如何获取输入Excel文件以及如何将XML写入输出有任何解决方案,请提供任何代码或URL或任何其他解决方案。 谢谢, 米沙尔·沙(Mishal Shah) 问题答案: 查看jexcel或Apache POI库以读取Excel文件。 创建XML文件很简单,只需将XML直接写到文件中,或附加到XML文档中,然后使用标准