scala - 如何使用 spray-json 库将 toJson 应用于案例类的实例

标签 scala akka spray-json

注册.scala

package model

import akka.actor.Actor
import spray.json._
import DefaultJsonProtocol._

case class Registration(
  system: String, 
  identity: String)

object RegistrationProtocol extends DefaultJsonProtocol {
  implicit val adsRegistrationFormat = jsonFormat2(Registration)
}

注册服务.scala

import akka.actor.{Props, ActorLogging, Actor}
import model.Registration

object RegistrationsService {
  case class PostRegistrationMessage(registration: Registration)

  def props(property: String) = Props(classOf[RegistrationsService], property)
}

class RegistrationsService(property: String) extends Actor with ActorLogging {
  import RegistrationsService._

  def receive = {
    case PostRegistrationMessage(registration) => {
      import model.RegistrationProtocol._

      val json = registration.toJson

    }
  }
}

任何人都可以帮助我理解为什么这会因编译错误“value toJson is not member of model.Registration”而失败以及如何修复它。如果上面代码的最后一行失败,它是“val json = registration.toJson

最佳答案

你也需要在RegistrationService.scala中导入spray提供的隐式操作

  import model.RegistrationProtocol._
  import spray.json._

关于scala - 如何使用 spray-json 库将 toJson 应用于案例类的实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27788655/

相关文章:

scala - 用Spray-json处理默认值的好方法是什么

scala - 来自周围范围的隐式参数解析

java - 如何获取 aerospike 给定集的所有 bin 名称

playframework - 如何使用 Akka 配置 play 应用程序在集群中运行

java - 与 Akka Actor 特性混合与基类发生冲突

scala - 在失败时优雅地重新启动 Reactive-Kafka 消费者流

json - 在spray json中只有case对象自定义实现的特征

Scala 向自己发送消息好还是坏?

scala - 如何使用新的反射 API 来判断数组的组件类型是否符合类型参数?

Scala - future 不运行