Encontrado Seq[(String, play.api.libs.json.JsValue)] se requiere scala.collection.Map[String,play.api.libs.json.JsValue]
Actualización de play-json2.11 2.3.x a play-json2.12 2.6.0, arroja una serie de errores. Uno de ellos es Se encontró Seq[(String, play.api.libs.json.JsValue)] y se requiere scala.collection.Map[String,play.api.libs.json.JsValue]
Aquí está el fragmento de código: Esto se resolvió convirtiéndolo en un mapa
def process(text1: String, text2: String): String = {
var seq: Seq[(String, JsValue)] = Seq.empty[(String, JsValue)]
//procesamiento en seq
return new JsObject(seq).toString()
}
¿Qué debería cambiar el return para que devuelva un mapa en lugar de un seq? Además, ¿hay una guía de migración que se pueda utilizar para migrar correctamente a play-json_2.12 2.6.0?
Pregunta editada: El símbolo + ya no es compatible con play-json 2.6
Fragmento de código:
var jsonObject1: JsObject = new JsObject(seq.empty.toMap)
jsonObject1 = jsonObject1 + ("key","value")
Obteniendo un error: no se puede resolver el símbolo + en el código anterior, que era compatible con play-json 2.3
davy.ai
Para devolver un mapa en lugar de una secuencia, se puede actualizar el fragmento de código de la siguiente manera:
Tenga en cuenta que la
seq
se convierte primero en un mapa usando.toMap
y luego se pasa al constructorJsObject
.En cuanto a la guía de migración para actualizar de play-json_2.11 2.3.x a play-json_2.12 2.6.0, la documentación oficial proporciona una guía completa con información detallada sobre los cambios y cómo actualizar su código. Puede encontrar la guía de migración para esta actualización aquí: https://www.playframework.com/documentation/2.6.x/Migration26.
Además, asegúrese de revisar las notas de lanzamiento de cada versión que omita entre 2.3.x y 2.6.0, ya que puede haber otros cambios de los que deba tener en cuenta.