Как компилятор находит неявный метод для Json.obj()?
Мы могли бы построить объект json так:
import java.time.Instant
import play.api.libs.json.Json
object Test extends App {
println(Json.obj("time" -> Instant.now()))
//Output: {"time":"2018-05-25T18:13:23.409Z"}
}
Подпись метода Json.obj():
def obj(fields: (String, JsValueWrapper)*): JsObject
Пока неявный метод Json.toJsFieldJsValueWrapper
не входит в сферу, как это Instant.now()
конвертировано в JsValueWrapper
успешно? Заранее спасибо за ваш ответ!
1 ответ
Решение
Я получаю ответ отсюда Внешние объекты для вложенных типов. Причина в том, что внешние объекты для вложенных типов также вносят свой вклад.