我有一个JSON对象:
{"isCompany":false,"accommodations":[{"id":"00000000031000000067","isChecked":false,"name":"5 JULI 2017","addressLine1":"STRAAT 10 ","addressLine2":"1000 New York","nightsDeclared":0,"scho
此tut演示如何创建http4s请求:
我希望将此请求更改为POST方法,并使用circe添加一个文字json主体。我尝试了以下代码:
val body = json"""{"hello":"world"}"""
val req = Request[IO](method = Method.POST, uri = Uri.uri("/"), body = body)
这给出了一个类型错配错误:
[error] found : io.circe.Json
[error] required: or
例如,我们有一些case类 case class Foo(a: Int, b: List[String]) 我们希望反序列化json {"a": 1}中的Foo实例,用Nil替换缺少的b数组 我们可以为这样的行为创建自定义解码器 implicit val fooDecoder: Decoder[Foo] = (c: HCursor) =>
for {
a <- c.downField("a").as[Int]
b <- c.downField("b").as[Option[List[String]]
这个问题最近提了几次,所以我在这里问它。假设我有一些这样的案例类:
import io.circe._, io.circe.generic.semiauto._
object model {
case class A(a: String)
case class B(a: String, i: Int)
case class C(i: Int, b: Boolean)
implicit val encodeA: Encoder[A] = deriveEncoder
implicit val encodeB: Encoder[B] = deriveEncoder
imp
我能有Scala对象中的可空参数吗?
类似于C#和语法糖中的Nullable:
public int? Age {get; set;}
public string Name {get; set;}
public bool? isAdmin {get; set;}
我能创建scala类吗?在这个类中,对象可以设置一些属性,而其他属性则不能设置。
为了不同的目的,我打算有多个构造器。我希望确保空值意味着字段没有被设置。
更新
例如,我有下面的case类
case class Employee(age: Int, salary: Int, scaleNum : Int,
使用Scala实现Rest API服务我使用的是Akka Http v10.2.3和Circe v0.13.0。
假设我有这个端点:
import io.circe.generic.auto._
...
pathPrefix("test") {
post {
entity(as[SomeData]) { data =>
// do something with the data (instance of SomeData)
...
complete(StatusCodes.OK)
}
我正在尝试将以下字符串派生为适当的ADT类型: res6: String = {"raw":"Hello","status":{"MsgSuccess":{}}} 并使用circe库。 ADT类型如下所示: sealed trait MsgDoc {
}
final case class MsgPreFailure(raw: String, reasons: Chain[String]) extends MsgDoc
final case class MsgProceed(raw: String, status: MsgS