0
Ich verwende akka mit spray json-Unterstützung, für die ich Wert in der erhaltenen JSON bearbeiten muss.So bearbeiten Sie ein vorhandenes JSON-Objekt mit sprayJSON
import akka.http.scaladsl.server.Directives
import akka.http.scaladsl.marshallers.sprayjson.SprayJsonSupport
import spray.json._
final case class Item(name: String, id: Long)
final case class Order(items: List[Item],orderTag:String)
trait JsonSupport extends SprayJsonSupport with DefaultJsonProtocol {
implicit val itemFormat = jsonFormat2(Item)
implicit val orderFormat = jsonFormat2(Order)
}
In meinem Anwendungsfall erhalte ich die json mit orderTag Wert als null, alles, was ich tun muß, ist der orderTag Wert mit bearbeiten und dann verwenden, als Einheit value.Is es möglich, schreiben/bearbeiten JSONObject und Wie das zu tun ?
class MyJsonService extends Directives with JsonSupport {
// format: OFF
val route =
get {
pathSingleSlash {
complete(Item("thing", 42)) // will render as JSON
}
} ~
post {
entity(as[Order]) { order => // will unmarshal JSON to Order
val itemsCount = order.items.size
val itemNames = order.items.map(_.name).mkString(", ")
complete(s"Ordered $itemsCount items: $itemNames")
}
}
}