Json Парсер не работает внутри функций высшего порядка в scala? - PullRequest
0 голосов
/ 23 апреля 2020

У меня есть dstream и я пытаюсь разобрать каждую строку в объект, используя библиотеку play json. Он работает снаружи, но не работает внутри. В нем говорится, что никакие последствия не найдены.

val textStream: ReceiverInputDStream[String] = streamingContext.socketTextStream("localhost",12345)

textStream.map{record=>
  Json.parse(record).as[Car] //this doesn't works, it shows as: Json.parse(record).as[Car](...)

}

Это определено в сопутствующем объекте Car:

object Car {
implicit val carFormat = Json.format[Car]
}

Это работает, когда имплики заданы явно внутри, и это выглядит немного странно.

 textStream.map{record=>
  implicit val carFormat = Json.format[Car] //How do I avoid this
  Json.parse(record).as[Car]
}

Как мне избежать определения внутри и заставить его работать, определяя последствия снаружи?
Я также пытался импортировать явный внутри объекта-компаньона, но это не имеет никакого значения.

...