diff options
Diffstat (limited to 'src/main/scala/spray/json')
-rw-r--r-- | src/main/scala/spray/json/JsonParser.scala | 5 | ||||
-rw-r--r-- | src/main/scala/spray/json/JsonParserSettings.scala | 10 | ||||
-rw-r--r-- | src/main/scala/spray/json/package.scala | 3 |
3 files changed, 16 insertions, 2 deletions
diff --git a/src/main/scala/spray/json/JsonParser.scala b/src/main/scala/spray/json/JsonParser.scala index 71c4c11..f29c062 100644 --- a/src/main/scala/spray/json/JsonParser.scala +++ b/src/main/scala/spray/json/JsonParser.scala @@ -26,12 +26,15 @@ import java.nio.charset.Charset */ object JsonParser { def apply(input: ParserInput): JsValue = new JsonParser(input).parseJsValue() + def apply(input: ParserInput, settings: JsonParserSettings): JsValue = new JsonParser(input, settings).parseJsValue() class ParsingException(val summary: String, val detail: String = "") extends RuntimeException(if (summary.isEmpty) detail else if (detail.isEmpty) summary else summary + ":" + detail) } -class JsonParser(input: ParserInput) { +class JsonParser(input: ParserInput, settings: JsonParserSettings = JsonParserSettings.default) { + def this(input: ParserInput) = this(input, JsonParserSettings.default) + import JsonParser.ParsingException private[this] val sb = new JStringBuilder diff --git a/src/main/scala/spray/json/JsonParserSettings.scala b/src/main/scala/spray/json/JsonParserSettings.scala new file mode 100644 index 0000000..31692fd --- /dev/null +++ b/src/main/scala/spray/json/JsonParserSettings.scala @@ -0,0 +1,10 @@ +package spray.json + +trait JsonParserSettings { + +} +object JsonParserSettings { + val default: JsonParserSettings = SettingsImpl() + + private case class SettingsImpl() extends JsonParserSettings +}
\ No newline at end of file diff --git a/src/main/scala/spray/json/package.scala b/src/main/scala/spray/json/package.scala index 37d63c2..a8a42f0 100644 --- a/src/main/scala/spray/json/package.scala +++ b/src/main/scala/spray/json/package.scala @@ -24,7 +24,7 @@ package object json { def serializationError(msg: String) = throw new SerializationException(msg) def jsonReader[T](implicit reader: JsonReader[T]) = reader - def jsonWriter[T](implicit writer: JsonWriter[T]) = writer + def jsonWriter[T](implicit writer: JsonWriter[T]) = writer implicit def enrichAny[T](any: T) = new RichAny(any) implicit def enrichString(string: String) = new RichString(string) @@ -48,6 +48,7 @@ package json { @deprecated("deprecated in favor of parseJson", "1.2.6") def asJson: JsValue = parseJson def parseJson: JsValue = JsonParser(string) + def parseJson(settings: JsonParserSettings): JsValue = JsonParser(string, settings) } @deprecated("use RichAny", "1.3.4") |