Scalaj-Http:使用HttpRequest并获取HttpResponse [string] - 如何访问Respnse.Body的各个JSON元素?

时间:2015-05-24 14:36:06

标签: json scala http scala-collections

我想计算Github存储库中的语言标记。我正在使用scalaj-http

val response: HttpResponse[String] = Http("https://api.github.com/search/repositories?q=size:>=0").asString                   
val b = response.body,    
val c = response.code,    
val h = response.headers

我回来了:

b: String
c: Int
h: Map[String,String]

Body以字符串形式返回。我想现在迭代这个正文结果来提取并进一步调用几个嵌套的URL(如果你看到GET result of URL mentioned above,你可能会更好地了解这个)。

基本上我想调用其中一个网址。我怎么能这样做?

1 个答案:

答案 0 :(得分:1)

像这样的东西,我必须使用json响应,我使用json4s和它提取所需字段的路径。基本上示例代码将是这样的

import org.json4s._
import org.json4s.native.JsonMethods._

val body= """ { "a" : { "b" : { "url" : "http://required.com" }}} """ 
val requiredUrl = (parse(body) \ "a" \"b" \ "url" ).values

如果路径匹配指向列表中的更多字段,您将按照我认为的列表获得结果。