Мне нужно разобрать список [Int]
значений от JsObject
. Я получил нормальные String
и Int
значениями от JsObject
по нижнему коду.parse Scala List [Int] from JsObject
Что я получаю
def receive = {
case json_req: JsObject => {
val studentName = (json_req \ "student_name").as[String]
val studentNo = (json_req \ "student_no").as[Int]
println("studentName"+student_name)
println("studentNo"+student_no)
}
}
это выше код печатает имя студента, а также студента нет.
Что мне нужно
JSONObject
{"student_records":[
{"student_id":9,"class_id":9},
{"student_id":10,"class_id":10},
{"student_id":11,"class_id":11}
]}
из вышеприведенного JsonObject
мне нужно, чтобы получить два списка значений, скорее студент Идентификаторы Перечислите и класс IdS Перечислите
StudentList = List[9,10,11]
ClassList = List[9,10,11]
Что я пытаюсь
def receive = {
case json_req: JsObject => {
try {
val StudentList = (json_req \ "student_records" \\ "student_id").map(_.as[Int]).toList
val ClassList = (json_req \ "student_records" \\ "class_id").map(_.as[Int]).toList
println("StudentList = "+StudentList)
println("ClassList = "+ClassList)
} catch {
case e: Exception => println(e)
}
}
}
мой попробовал код дает этот Exception
play.api.libs.json.JsResultException: JsResultException(errors:List((,List(Valid
ationError(error.expected.jsnumber,WrappedArray())))))
Спасибо, друг, как вы сказали, мой опубликованный код работает нормально. Я нашел проблему на своей стороне. Я использовал другой метод, а не необходимый метод, поэтому он генерирует «исключение». – Jamal