-
Notifications
You must be signed in to change notification settings - Fork 5
/
SprayJsonParser.scala
52 lines (42 loc) · 1.03 KB
/
SprayJsonParser.scala
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
/**
* Copyright (c) 2014 Ruud Diterwich.
* All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*/
package org.scalastuff.json.spray
import org.scalastuff.json.JsonParser
import java.io.Reader
import spray.json.JsValue
class SprayJsonParser {
private val parser = new JsonParser(new SprayJsonBuilder)
def parse(s: String): JsValue = {
parser.handler.reset()
parser.parse(s)
result
}
def parse(s: Array[Char]) = {
parser.handler.reset()
parser.parse(s)
result
}
def parse(r: Reader) = {
parser.handler.reset()
parser.parse(r)
result
}
def result =
parser.handler.result
}
object SprayJsonParser {
def parse(s: String) =
new SprayJsonParser().parse(s)
def parse(s: Array[Char]) =
new SprayJsonParser().parse(s)
def parse(r: Reader) =
new SprayJsonParser().parse(r)
}