【发布时间】:2016-08-03 19:46:55
【问题描述】:
我有 json,其结构如下:
{
"searchResults": {
"searchCriteria": {
"location": {
"originalLocation": null
},
"startAndEndDate": {
"start": "2016-10-06T00:00:00",
"end": "2016-10-09T00:00:00"
},
"solution": [{
"resultID": "O1MDc1MD",
"selected": false,
"charges": {
"localCurrencyCode": "USD",
"averagePricePerNight": 153
},
"starRating": 3.5
},
{
"resultID": "0MDc1MD",
"selected": false,
"charges": {
"localCurrencyCode": "USD",
"averagePricePerNight": 153
},
"starRating": 3.5
}
]
}
}
}
我有一个类似的案例类:
case class ResponseModel(
//localCurrencyCode: Option[String],
averagePricePerNight: Option[Int],
starRating: Option[Int])
我想提取averagePricePerNight 和starRating 的值并将其返回到一个列表中。
我无法获得同时包含 starRating 和 averagePricePerNight 的列表,因为在解决方案数组中我还有一个收费数组,所以我没有得到列表。
我用过:
val messagesIds = (json \\ "solution") \ "starRating"
println(messagesIds.values)
Output: List(3.5, 3.5, 3.0)
预期输出:
List(ResponseModel(5.0,900), ResponseModel(4.5,100), ResponseModel(4.5,1000))
它给了我一个单独的 StarRatings 列表。我如何将两者结合起来,让我知道另一个库是否可以轻松做到这一点。
【问题讨论】: