Добро пожаловать,Play 2.3 с Scala, преобразование JSON массива в последовательность
Я действительно хотел, чтобы избежать этого, но я отказаться сейчас. Я пытаюсь пройти через json-массив и вывести некоторые элементы и привести их в порядок. Я попробовал множество опций, попробовал все из игровых документов, много попыток и все еще имею ту же ошибку: исключение null-указателя, когда мой метод пытается удалить элементы. Так что мой JSON пример:
[
{
"var1": "xx",
"var2": "xxx",
"var3": 111
},
{
"var1": "yy",
"var2": "yyy",
"var3": 222
},
{
"var1": "zz",
"var2": "zzz",
"var3": 333
}
]
я определил множество конфигураций читает, последний, как это, но не хочет компилировать даже;/
case class Vars1(vars: Seq[String])
val var1Reads: Reads[String] = (__ \ "var1").read[String]
implicit val vars1Reads: Reads[Vars1] = ((__).read[Seq[String]])(Vars1.apply _)
Я хочу создать последовательность или список, это не важно, только от var1 от каждого элемента этого массива. Это может быть чистая последовательность, или класс случая с последовательностью или другим. Просто, как итерации через json-массивы? Я пробовал много конфигураций, чтение var1 не является проблематичным, но когда я хочу прочитать все vars 1 из каждого элемента массива, тогда у меня есть исключение из null-указателя. Пожалуйста, любой может указать мне в хорошем направлении, дать мне подсказку, что я делаю неправильно? Пожалуйста, не вините, я новичок в программировании, и я начал изучать scala и play framework.
Благодарим за помощь.
Update:
Я попробовал этот тоже:
implicit val vars1Reads = (__).read(Reads.list((__).read[String])).map(var => Vars(var))
, но до сих пор я имею ту же ошибку:
[NoSuchElementException: JsError.get]
Объявите, что ваши чтения являются ленивыми, например, 'implicit lazy val vars1Reads'. Это раздражающий и совершенно запутанный источник НСЕ. – Ryan