我想将页面内容视为JSON。
目前,我这样做:
val content = new Scanner(url.openStream).useDelimiter("\\Z").next()
val rawJson = JParser.parseFromString(content).get
但是,我遇到了一些问题,因为方法useDelimiter("\\Z")
会破坏文本的格式。但除此之外,我不知道如何获取扫描仪的全部内容。
从网址获取JSON内容是否更好?
答案 0 :(得分:2)
scala.io.Source
为获取HTTP响应的主体提供了内置支持,没有额外的库:
import scala.io.Source.fromURL
val json = fromURL("http://localhost:8080/hello").mkString
答案 1 :(得分:1)
有许多库可用于执行此操作,对于简单的任务,我已经成功使用了很多scalaj-http。
一个简单的用法是:
val rawJson = Http("http://localhost:8080/hello").asString.body
文档中有许多其他可以查看的示例。
答案 2 :(得分:0)
Source.fromURL(url).mkString
如果你不需要弄乱编码,工作正常。当然,你可能想把它包装在未来...