【问题标题】:How to convert Json to XML in Scala?如何在 Scala 中将 Json 转换为 XML?
【发布时间】:2021-03-20 20:31:06
【问题描述】:

我正在尝试转换 JSON 值:

[
    {
        "msg": "Hiiiiii",
        "name": "Ruchirrrr"
    },
    {
        "msg": "Holaaa Amigo",
        "name": "Pablo"
    },
    {
        "msg": "Demo",
        "name": "RuchirD"
    }
]

在 Scala 中转换为 XML 格式。 我从 Greeting 对象类型的 MongoDB 获取 json 格式的上述数据: Greeting.scala:

case class Greeting(msg:String,name:String)

我转换成 XML 的路径如下所示:

path("getXML"){
    val greetingSeqFuture: Future[Seq[Greeting]] = MongoDAL.fetchAllGreetings()
    val jsonMapper = new ObjectMapper
    val greet = jsonMapper.readValue(greetingSeqFuture,classOf[Greeting])
       }

fetchAllGreetings() 方法以 JSON 的形式从我的 MongoDB 数据库返回数据,在这里我试图将其转换为 XML。 readValue() 方法也出现错误。

我已经在我的built.sbt 文件中导入了"com.fasterxml.jackson.core" % "jackson-databind" % "2.4.0" 这个依赖项。

在 Java 中有很多资源可以做同样的事情,但在 Scala 中它们不适合我。

【问题讨论】:

    标签: json xml scala akka akka-http


    【解决方案1】:

    一种方法是运行 XSLT 3.0 转换:

    <xsl:template name="xsl:initial-template">
      <greetings>
        <xsl:for-each select="parse-json($input)?*">
          <greeting msg="{?msg}" name="{?name}"/>
        </xsl:for-each>
      </greetings>
    </xsl:template>
    

    【讨论】:

    • 我应该如何在akka中使用它,以便我得到XML形式的输出
    • 我不知道“akka”是什么,但您可以通过其 Java API 使用 Scala 的 Saxon XSLT 3.0 处理器。
    猜你喜欢
    • 2020-09-23
    • 1970-01-01
    • 1970-01-01
    • 2021-04-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-13
    • 1970-01-01
    相关资源
    最近更新 更多