使用参数scala的映射构造对象
是否可以从使用参数scala的映射构造对象,scala,Scala,是否可以从Map[String,Any]创建对象,其中每对都是一个(StringField->Value) 比如说, case class Example(a: String, b: Int) val obj = new Example( Map('a' -> 'blah', 'b' -> 1) ) //? val orMaybe = Example( Map('a' -> 'blah', 'b' -> 1 ) //? 是的,有几种可能。其中一个是使用反射,另一个
Map[String,Any]
创建对象,其中每对都是一个(StringField->Value)
比如说,
case class Example(a: String, b: Int)
val obj = new Example( Map('a' -> 'blah', 'b' -> 1) ) //?
val orMaybe = Example( Map('a' -> 'blah', 'b' -> 1 ) //?
是的,有几种可能。其中一个是使用反射,另一个(更简单的)是使用json作为中介 例如,对于json4s:
import org.json4s._
import org.json4s.native.Serialization
import org.json4s.native.Serialization.{read, write}
scala> implicit val formats = DefaultFormats
formats: org.json4s.DefaultFormats.type = org.json4s.DefaultFormats$@1f2bf363
case class Example(a: String, b: Int)
scala> val obj = read[Example](write( Map("a" -> "blah", "b" -> 1) ))
obj: Example = Example(blah,1)
scala: val orMaybe = read[Example](write( Map("a" -> "blah", "b" -> 1 )))
orMaybe: Example = Example(blah,1)
是的,有几种可能。其中一个是使用反射,另一个(更简单的)是使用json作为中介 例如,对于json4s:
import org.json4s._
import org.json4s.native.Serialization
import org.json4s.native.Serialization.{read, write}
scala> implicit val formats = DefaultFormats
formats: org.json4s.DefaultFormats.type = org.json4s.DefaultFormats$@1f2bf363
case class Example(a: String, b: Int)
scala> val obj = read[Example](write( Map("a" -> "blah", "b" -> 1) ))
obj: Example = Example(blah,1)
scala: val orMaybe = read[Example](write( Map("a" -> "blah", "b" -> 1 )))
orMaybe: Example = Example(blah,1)
是的,有几种可能。其中一个是使用反射,另一个(更简单的)是使用json作为中介 例如,对于json4s:
import org.json4s._
import org.json4s.native.Serialization
import org.json4s.native.Serialization.{read, write}
scala> implicit val formats = DefaultFormats
formats: org.json4s.DefaultFormats.type = org.json4s.DefaultFormats$@1f2bf363
case class Example(a: String, b: Int)
scala> val obj = read[Example](write( Map("a" -> "blah", "b" -> 1) ))
obj: Example = Example(blah,1)
scala: val orMaybe = read[Example](write( Map("a" -> "blah", "b" -> 1 )))
orMaybe: Example = Example(blah,1)
是的,有几种可能。其中一个是使用反射,另一个(更简单的)是使用json作为中介 例如,对于json4s:
import org.json4s._
import org.json4s.native.Serialization
import org.json4s.native.Serialization.{read, write}
scala> implicit val formats = DefaultFormats
formats: org.json4s.DefaultFormats.type = org.json4s.DefaultFormats$@1f2bf363
case class Example(a: String, b: Int)
scala> val obj = read[Example](write( Map("a" -> "blah", "b" -> 1) ))
obj: Example = Example(blah,1)
scala: val orMaybe = read[Example](write( Map("a" -> "blah", "b" -> 1 )))
orMaybe: Example = Example(blah,1)
可以使用
将元组作为参数列表传递给函数。tuple
:
(Example.apply_u2;).tuple(“a”->1)
有了它,并且知道myMap.map
将映射的每个元素作为元组传递,您可以执行以下操作:
Map(“a”->1).Map((Example.apply.tuple).head
您可以使用将元组作为参数列表传递给函数。tuple
:
(Example.apply_u2;).tuple(“a”->1)
有了它,并且知道myMap.map
将映射的每个元素作为元组传递,您可以执行以下操作:
Map(“a”->1).Map((Example.apply.tuple).head
您可以使用将元组作为参数列表传递给函数。tuple
:
(Example.apply_u2;).tuple(“a”->1)
有了它,并且知道myMap.map
将映射的每个元素作为元组传递,您可以执行以下操作:
Map(“a”->1).Map((Example.apply.tuple).head
您可以使用将元组作为参数列表传递给函数。tuple
:
(Example.apply_u2;).tuple(“a”->1)
有了它,并且知道myMap.map
将映射的每个元素作为元组传递,您可以执行以下操作:
Map(“a”->1).Map((Example.apply.tuple).head