使用参数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