我是 akka-http 的新手。我在我的项目中使用它。我无法理解到底是marshalling
什么unmarshalling
。
如果有人可以用一个简短的例子来解释它,展示如何编组和解组 json。
我是 akka-http 的新手。我在我的项目中使用它。我无法理解到底是marshalling
什么unmarshalling
。
如果有人可以用一个简短的例子来解释它,展示如何编组和解组 json。
当您收到http中的请求时,它是有线格式,即字节字符串,解组将此字节字符串转换为更高级别的格式,另一方面是您转换为低级别格式的编组。
akka-http 中将 json 转换string(str)
为 case的示例class(person)
:
case class Person(name: String, age: Int)
val str = """{"name": "some", "aga": 10}"""
impicit val jsonF = jsonFormat2(Person)
val person = JsonParser(str).convertTo[Person]
但更好的方法是使用来自 akka-http 的实体指令:
val route = post {
entity(as[Person]) { person =>
complete(s"Person: ${person.name} - favorite number: ${person.favoriteNumber}")
}
}
此处文档中的示例说明 您需要在您的范围内使用隐式格式化程序才能成功解组,并且该数字与您的案例类中的字段数相匹配。