aboutsummaryrefslogtreecommitdiff
path: root/json/json4s/src/main/scala/com/softwaremill/sttp/json4s/package.scala
diff options
context:
space:
mode:
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.scala14
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))
+}