diff options
Diffstat (limited to 'json/json4s/src/main/scala/com/softwaremill/sttp/json4s/package.scala')
-rw-r--r-- | json/json4s/src/main/scala/com/softwaremill/sttp/json4s/package.scala | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/json/json4s/src/main/scala/com/softwaremill/sttp/json4s/package.scala b/json/json4s/src/main/scala/com/softwaremill/sttp/json4s/package.scala new file mode 100644 index 0000000..4c7aa36 --- /dev/null +++ b/json/json4s/src/main/scala/com/softwaremill/sttp/json4s/package.scala @@ -0,0 +1,14 @@ +package com.softwaremill.sttp + +import org.json4s._ +import org.json4s.native.Serialization.{read, write} + +package object json4s { + implicit def json4sBodySerializer[B <: AnyRef]( + implicit formats: Formats = DefaultFormats): BodySerializer[B] = + b => StringBody(write(b), Utf8, Some(ApplicationJsonContentType)) + + def asJson[B: Manifest]( + implicit formats: Formats = DefaultFormats): ResponseAs[B, Nothing] = + asString(Utf8).map(s => read[B](s)) +} |