Packages

  • package root
    Definition Classes
    root
  • package io
    Definition Classes
    root
  • package circe

    This is the API documentation for Circe, a JSON library for Scala and Scala.js.

    Overview

    This is the API documentation for Circe, a JSON library for Scala and Scala.js.

    The library is divided into a number of modules that either provide core functionality, support additional features via third-party dependencies, or facilitate integration with other libraries or frameworks.

    • numbers: core facilities for representing and parsing JSON numbers.
    • core: our JSON abstract syntax tree, our zipper-like cursor types, and our encoding and decoding type classes (and instances).
    • parser: JSON parsing support for both the Java Virtual Machine (using Jawn) and Scala.js (using the native JavaScript JSON parser).
    • testing: ScalaCheck Arbitrary instances for circe's JSON AST and other types, as well as other useful testing tools.
    • literal: JSON string interpolation and encoder and decoder instances for literal types.
    • generic: Shapeless-powered generic derivation for case classes and sealed trait hierarchies.
    • generic-extras: additional experimental generic derivation functionality (including some configurability).
    • pointer: A JSON Pointer implementation
    • pointer-literal: JSON Pointer string interpolation
    • shapes: encoders and decoders for Shapeless hlists, coproducts, records, and sized collections.
    • scodec: encoders and decoders for Scodec's BitVector and ByteVector.
    • refined: encoders and decoders for refined types.
    • spray: Spray marshaller conversions for Circe's type classes.

    Please refer to the documentation for a more detailed introduction to the library.

    Definition Classes
    io
  • package benchmark
    Definition Classes
    circe
  • package export
    Definition Classes
    circe
  • package generic
    Definition Classes
    circe
  • package codec
  • package decoding
  • package encoding
  • package util
  • AutoDerivation
  • Deriver
  • JsonCodec
  • semiauto
  • package hygiene
    Definition Classes
    circe
  • package jawn
    Definition Classes
    circe
  • package literal
    Definition Classes
    circe
  • package numbers
    Definition Classes
    circe
  • package pointer
    Definition Classes
    circe
  • package refined
    Definition Classes
    circe
  • package scalajs
    Definition Classes
    circe
  • package shapes
    Definition Classes
    circe
  • package syntax

    This package provides syntax via enrichment classes.

    This package provides syntax via enrichment classes.

    Definition Classes
    circe
  • package testing
    Definition Classes
    circe
p

io.circe

generic

package generic

Ordering
  1. Alphabetic
Visibility
  1. Public
  2. Protected

Package Members

  1. package codec
  2. package decoding
  3. package encoding
  4. package util

Type Members

  1. trait AutoDerivation extends AnyRef

    Fully automatic codec derivation.

    Fully automatic codec derivation.

    Extending this trait provides io.circe.Decoder and io.circe.Encoder instances for case classes (if all members have instances), "incomplete" case classes, sealed trait hierarchies, etc.

  2. class Deriver extends DerivationMacros[ReprDecoder, ReprAsObjectEncoder, ReprAsObjectCodec, DerivedDecoder, DerivedAsObjectEncoder, DerivedAsObjectCodec]
  3. macro class JsonCodec extends Annotation with StaticAnnotation
    Annotations
    @compileTimeOnly("macro annotation could not be expanded (since these are experimental, you must enable them with -Ymacro-annotations)")

Value Members

  1. object semiauto

    Semi-automatic codec derivation.

    Semi-automatic codec derivation.

    This object provides helpers for creating io.circe.Decoder and io.circe.ObjectEncoder instances for case classes, "incomplete" case classes, sealed trait hierarchies, etc.

    Typical usage will look like the following:

    import io.circe._, io.circe.generic.semiauto._
    
    case class Foo(i: Int, p: (String, Double))
    
    object Foo {
      implicit val decodeFoo: Decoder[Foo] = deriveDecoder[Foo]
      implicit val encodeFoo: Encoder.AsObject[Foo] = deriveEncoder[Foo]
    }

Ungrouped