zio-json

zio-json

  • Overview
  • Interop modules
  • API
  • About

›Interop

Interop

  • Interop modules
  • Akka Http Interop
  • HTTP4s Interop
  • Refined Interop
  • Scalaz 7.x Interop

Refined Interop

Installation

libraryDependencies ++= Seq(
  "dev.zio" % "zio-json-interop-refined" % "can't find release"
)

Usage

import zio.json._
import zio.json.interop.refined._

import eu.timepit.refined.api.Refined
import eu.timepit.refined.collection.NonEmpty

case class Person(name: String Refined NonEmpty)

object Person {
  implicit val decoder: JsonDecoder[Person] = DeriveJsonDecoder.gen
}
"""{ "name": "" }""".fromJson[Person]
// res0: Either[String, Person] = Left(
//   value = ".name(Predicate isEmpty() did not fail.)"
// )
"""{ "name": "Aurora" }""".fromJson[Person]
// res1: Either[String, Person] = Right(value = Person(name = Aurora))
← HTTP4s InteropScalaz 7.x Interop →
  • Installation
  • Usage
zio-json
GitHub
Star
Chat with us on Discord
discord
Additional resources
Scaladoc of zio-json
Copyright © 2022 ZIO Maintainers