【发布时间】:2014-04-29 19:34:34
【问题描述】:
我有一个json数据
{"query":{"count":1,"created":"2014-04-28T07:33:09Z","lang":"en-US","results":{"rate": {"id":"USDCNY","Rate":"6.2489","Date":"4/28/2014","Time":"3:30am","Ask":"6.2494","Bid" :"6.2484"}}}}
从上面,
我只对
感兴趣{"id":"USDCNY","Rate":"6.2489","Date":"4/28/2014","Time":"3:30am","Ask":"6.2494", “出价”:“6.2484”}
数据
我将其提取为地图,
val translateAPI = url(yahooFinanceApiUrl)
val response = Http(translateAPI OK as.String)
response onComplete {
case Success(json) => parser(json)
case Failure(error) => println(" Error " +error)
}
def parser(data:String) = {
val languages = JSON.parseFull(data) match {
case Some(x:Map[String, Map[String, Map[String, Any]]]) => {
(x.get("query")).last.get("results").last.get("rate").last
}
case None => Nil
}
println(languages)
}
我得到如下输出
Map(Rate -> 6.2532, Ask -> 6.2531, id -> USDCNY, Bid -> 6.2533, Date -> 2014 年 4 月 28 日,时间 -> 早上 6:15)
从这里,
如何将 Map 绑定到 scala 属性,
class Currency(Rate:String, Ask:String, id:String, Bid:String, 日期:字符串,时间:字符串)
提前致谢
【问题讨论】:
-
请详细说明您正在尝试什么以及您已经尝试过什么。您使用的是什么 JSON 库(或者您只是将这些数据作为字符串处理)?您要提取哪种 Scala 对象?
-
希望现在我的问题有点意义......
-
@BalaB 我已根据您提供的其他详细信息更新了我的答案。