summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/main/scala/spray/json/AdditionalFormats.scala13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/main/scala/spray/json/AdditionalFormats.scala b/src/main/scala/spray/json/AdditionalFormats.scala
index cc52f8d..fbabb0b 100644
--- a/src/main/scala/spray/json/AdditionalFormats.scala
+++ b/src/main/scala/spray/json/AdditionalFormats.scala
@@ -27,6 +27,19 @@ trait AdditionalFormats {
def read(value: JsValue) = value
}
+ implicit object RootJsObjectFormat extends RootJsonFormat[JsObject] {
+ def write(value: JsObject) = value
+ def read(value: JsValue) = value.asJsObject
+ }
+
+ implicit object RootJsArrayFormat extends RootJsonFormat[JsArray] {
+ def write(value: JsArray) = value
+ def read(value: JsValue) = value match {
+ case x: JsArray => x
+ case _ => deserializationError("JSON array expected")
+ }
+ }
+
/**
* Constructs a JsonFormat from its two parts, JsonReader and JsonWriter.
*/