2
더 잘 설명하려고합니다.사례 클래스를 지정하지 않고 JSON을 JValue로 구문 분석하십시오.
[
{
"album": "The White Stripes",
"year": 1999,
"US_peak_chart_post": 55
},
{
"album": "De Stijl",
"year": 2000,
"US_peak_chart_post": 66
}
]
Seq[Album]
A와 :
나는 같은 JSON 문자열에서 JSON 파일을 구문 분석하고
import org.json4s._
import org.json4s.jackson.JsonMethods._
import scala.util.{Failure, Success, Try}
object AlbumsHandler{
implicit val formats = DefaultFormats
def extractAlbumsFromJsonFile(json: String): Seq[Album] = {
val jValues: Try[JValue] = Try(parse(json))
val albums: Seq[Album] = jValues.map(
value => value.extract[Seq[Album]]
).getOrElse(Seq())
albums
}
}
는 "청사진"으로 Album
의 case class
을 제공 :
case class Album(album: String, year: Int, US_peak_chart_post: Int)
내가하는 것과 같은 일을 할 수있는 방법이 있습니까? 내 JSON에서 Seq[Album]
을 추출 할 준비가되었지만 자동으로 case class
을 청사진으로 지정할 필요없이?
감사합니다. 그 결과로 앨범 클래스를 얻는 방법, 또는 다른 클래스를 얻는 방법? –
그 결과로 '앨범'클래스를 얻지 못했습니까? 엔티티를 원하면 케이스 클래스가있는 버전이 맞습니다. – Sergey
예, 정확합니다. 하지만 제 문제는 가능한 한 적은 결합 코드를 갖고 싶습니다. 따라서 json을 추출 할 수있는 방법을 원하면서 동시에 다른 클래스뿐만 아니라 Album을위한 객체를 얻기 위해 재사용 할 수 있기를 바랍니다. –