я проанализирован ответ от HTTP API с помощью функции синтаксического анализа() из библиотеки лифтВозникли проблемы синтаксического анализа объекта JSON - JField (хуг, JDouble (90.21)) и доступа к значению "XYZ"
val resultObj = parse(response)
val dps = resultObj \\ "dps"
println("dps are "+dps)
у меня есть что-то вроде этого сейчас:
JObject(List(JField(1410418778,JDouble(0.0)), JField(1410418947,JDouble(0.0)), JField(1410419163,JDouble(0.0)), JField(1410419314,JDouble(0.0)))
Я хочу извлечь «1410418778» и соответствующий двойное значение, т.е. 0,0 из-за этого.
Я попытался следующие:
dps.children.foreach(element=>{
println("element "+element+ "and its extract is Double "+
element.extract[Double]+" and its String extract is "+
element.extract[String])
val child = element.children
println("element child "+child)
})
выход ::
element JField(1410420437,JDouble(1.0))and its extract is Double 1.0 and its String extract is 1.0
element child List(JDouble(1.0))
Hoever как экстракт [String] и извлечь [Double] дают только значение в поле JDouble(). Hw я также извлекаю строку timestamp из этого тоже? Спасибо заранее!