diff options
Diffstat (limited to 'src/main/boilerplate/spray/json/ProductFormatsInstances.scala.template')
-rw-r--r-- | src/main/boilerplate/spray/json/ProductFormatsInstances.scala.template | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/main/boilerplate/spray/json/ProductFormatsInstances.scala.template b/src/main/boilerplate/spray/json/ProductFormatsInstances.scala.template index 3d29b58..03d9492 100644 --- a/src/main/boilerplate/spray/json/ProductFormatsInstances.scala.template +++ b/src/main/boilerplate/spray/json/ProductFormatsInstances.scala.template @@ -16,11 +16,14 @@ package spray.json +import scala.reflect.ClassTag + trait ProductFormatsInstances { self: ProductFormats with StandardFormats => [# // Case classes with 1 parameters - def jsonFormat1[[#P1 :JF#], T <: Product :ClassManifest](construct: ([#P1#]) => T): RootJsonFormat[T] = { - val Array([#p1#]) = extractFieldNames(classManifest[T]) + def jsonFormat1[[#P1 :JF#], T <: Product :ClassTag](construct: ([#P1#]) => T): RootJsonFormat[T] = { + val c = implicitly[ClassTag[T]] + val Array([#p1#]) = extractFieldNames(c) jsonFormat(construct, [#p1#]) } def jsonFormat[[#P1 :JF#], T <: Product](construct: ([#P1#]) => T, [#fieldName1: String#]): RootJsonFormat[T] = new RootJsonFormat[T]{ |