相关疑难解决方法(0)

在Scala中使用Some()和Option()

我一直在与Scala中解析JSON字符串的功能方法的概念作斗争,并在返回选项(某物)的情况下平放到墙上.我弹出问题,有用的答案流入.

问题是,作为Scala的新手,有什么正确的方法?

目前我这样做:

import util.parsing.json.JSON._

object JsonSoap {
  def main(args: Array[String]) {
    val x = parseFull("""{"name":"Joe","surname":"SOAP"}""")

    val y = x collect {
      case m: Map[_, _] => m collect {
        case (key: String, value: String) => key -> value
      }
    }

    val z = for (m <- y; name <- m.get("name"); surname <- m.get("surname"))
    yield {
      <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
        <soap:Body>
          <Person>
            <Name>{name}</Name>
            <Surname>{surname}</Surname>
          </Person>
        </soap:Body>
      </soap:Envelope>
    }

    println(z)
  }
}
Run Code Online (Sandbox Code Playgroud)

我仍然坚持使用Some()

解决我的问题有一个很好的模式吗?当然,这必须是一个很好的探索领域.我该如何改进我的代码?

scala

8
推荐指数
2
解决办法
8679
查看次数

标签 统计

scala ×1