JValue.Values является зависимым от пути типом.Это означает, что если вы удерживаете JString, это будет String, или если вы получили JArray, это будет List [Any].Если вы уверены, что анализируемый вами JSON является объектом JSON, вы можете привести его к правильному типу.
val record = JsonParser.parse(json).asInstanceOf[JObject]
Тип, зависящий от пути для JObject, - это Map [String, Any], таким образом:
scala> record.values("foo")
res0: Any = bar
Просто из любопытства, не немного ли это проблематично, если вы не знаете форму данных, которые вы собираетесь анализировать?
Обратите внимание, если ваши данные содержат (имя, описание,возраст) и возраст необязательный, вы можете прочитать этот JSON в:
case class Person(name: String, description: String, age: Option[Int])