summaryrefslogtreecommitdiff
path: root/src/main/scala/spray/json/JsValue.scala
diff options
context:
space:
mode:
authorMathias <mathias@spray.io>2014-09-19 15:13:01 +0200
committerMathias <mathias@spray.io>2014-09-19 15:13:01 +0200
commit37af0d4ca639ccea44efcb22d10a1e07abc4c04b (patch)
tree34e983e7d3b70e7c095a71d8645f612862a8c038 /src/main/scala/spray/json/JsValue.scala
parentc4a92c096ee223e680ea1bba80c4633ed9f64344 (diff)
downloadspray-json-37af0d4ca639ccea44efcb22d10a1e07abc4c04b.tar.gz
spray-json-37af0d4ca639ccea44efcb22d10a1e07abc4c04b.tar.bz2
spray-json-37af0d4ca639ccea44efcb22d10a1e07abc4c04b.zip
Switch JsArray(List) to JsArray(Vector), make parser produce JsObject(HashMap) rather than JsObject(ListMap)
Diffstat (limited to 'src/main/scala/spray/json/JsValue.scala')
-rw-r--r--src/main/scala/spray/json/JsValue.scala12
1 files changed, 5 insertions, 7 deletions
diff --git a/src/main/scala/spray/json/JsValue.scala b/src/main/scala/spray/json/JsValue.scala
index 7dfb06f..bc2889d 100644
--- a/src/main/scala/spray/json/JsValue.scala
+++ b/src/main/scala/spray/json/JsValue.scala
@@ -18,7 +18,7 @@
package spray.json
-import collection.immutable.ListMap
+import collection.immutable
/**
* The general type of a JSON AST node.
@@ -49,20 +49,18 @@ sealed abstract class JsValue {
*/
case class JsObject(fields: Map[String, JsValue]) extends JsValue {
override def asJsObject(errorMsg: String) = this
- def getFields(fieldNames: String*): Seq[JsValue] = fieldNames.flatMap(fields.get)
+ def getFields(fieldNames: String*): immutable.Seq[JsValue] = fieldNames.flatMap(fields.get)(collection.breakOut)
}
object JsObject {
- // we use a ListMap in order to preserve the field order
- def apply(members: JsField*) = new JsObject(ListMap(members: _*))
- def apply(members: List[JsField]) = new JsObject(ListMap(members: _*))
+ def apply(members: JsField*) = new JsObject(Map(members: _*))
}
/**
* A JSON array.
*/
-case class JsArray(elements: List[JsValue]) extends JsValue
+case class JsArray(elements: Vector[JsValue]) extends JsValue
object JsArray {
- def apply(elements: JsValue*) = new JsArray(elements.toList)
+ def apply(elements: JsValue*) = new JsArray(elements.toVector)
}
/**