Scala将页面内容作为JSon获取

时间:2016-03-10 16:19:06

标签: json scala

我想将页面内容视为JSON。

目前,我这样做:

val content = new Scanner(url.openStream).useDelimiter("\\Z").next()
val rawJson = JParser.parseFromString(content).get

但是,我遇到了一些问题,因为方法useDelimiter("\\Z")会破坏文本的格式。但除此之外,我不知道如何获取扫描仪的全部内容。

从网址获取JSON内容是否更好?

3 个答案:

答案 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
如果你不需要弄乱编码,

工作正常。当然,你可能想把它包装在未来...