=htp #18389 Fix spray-json unmarshaller utf8 encoding bug
This commit is contained in:
parent
f70c8f3fe2
commit
5cfbfc63ea
2 changed files with 3 additions and 3 deletions
|
|
@ -23,7 +23,7 @@ trait SprayJsonSupport {
|
|||
implicit def sprayJsValueUnmarshaller: FromEntityUnmarshaller[JsValue] =
|
||||
Unmarshaller.byteStringUnmarshaller.forContentTypes(`application/json`).mapWithCharset { (data, charset) ⇒
|
||||
val input =
|
||||
if (charset == HttpCharsets.`UTF-8`) ParserInput(data.toArray)
|
||||
if (charset == HttpCharsets.`UTF-8`) ParserInput(data.utf8String)
|
||||
else ParserInput(data.decodeString(charset.nioCharset.name)) // FIXME: identify charset by instance, not by name!
|
||||
JsonParser(input)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -19,11 +19,11 @@ object Employee {
|
|||
val simple = Employee("Frank", "Smith", 42, 12345, false)
|
||||
val json = """{"fname":"Frank","name":"Smith","age":42,"id":12345,"boardMember":false}"""
|
||||
|
||||
val utf8 = Employee("Fränk", "Smi√", 42, 12345, false)
|
||||
val utf8 = Employee("Fränk", "Çmi√", 42, 12345, false)
|
||||
val utf8json =
|
||||
"""{
|
||||
| "fname": "Fränk",
|
||||
| "name": "Smi√",
|
||||
| "name": "Çmi√",
|
||||
| "age": 42,
|
||||
| "id": 12345,
|
||||
| "boardMember": false
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue