在从rest服务解压缩gzip内容时,我面临着一个字符集问题。当我尝试运行下面的代码片段时,会抛出一个错误,说“JSON格式错误。非法字符((CTRL-CHAR,代码31))”:
val url:String = "https://api.stackexchange.com/2.0/info?site=stackoverflow"
Async {
WS.url(url)
.withHeaders("Accept-Encoding" -> "gzip, deflate")
.get()
.map { response =>
Ok("Response: " + (response.json "items"))
}
}
起初,我认为StackExchange API本身会有问题,但我尝试了一个类似的服务,它也使用gzip压缩,同样的错误也发生了。很难修复代码,因为我甚至不知道“非法字符”在哪里。是缺少了什么,还是实际上是一个bug在起作用?