package circe
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
andByteVector
. - 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.
- Source
- package.scala
- Alphabetic
- By Inheritance
- circe
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Package Members
Type Members
- abstract class ACursor extends Serializable
A zipper that represents a position in a JSON document and supports navigation and modification.
A zipper that represents a position in a JSON document and supports navigation and modification.
The
focus
represents the current position of the cursor; it may be updated withwithFocus
or changed using navigation methods likeleft
andright
. - trait Codec[A] extends Decoder[A] with Encoder[A]
A type class that provides back and forth conversion between values of type
A
and the Json format.A type class that provides back and forth conversion between values of type
A
and the Json format.Note that this type class is only intended to make instance definition more convenient; it generally should not be used as a constraint.
Instances should obey the laws defined in io.circe.testing.CodecLaws.
- sealed abstract class CursorOp extends Product with Serializable
- trait Decoder[A] extends Serializable
A type class that provides a way to produce a value of type
A
from a Json value. - sealed abstract class DecodingFailure extends Error
An exception representing a decoding failure and (lazily) capturing the decoding history resulting in the failure.
- trait Encoder[A] extends Serializable
A type class that provides a conversion from a value of type
A
to a Json value. - sealed abstract class Error extends Exception
The base exception type for both decoding and parsing errors.
- final case class Errors(errors: NonEmptyList[Error]) extends Exception with Product with Serializable
A convenience exception type for aggregating one or more decoding or parsing errors.
- final class FailedCursor extends ACursor
- abstract class HCursor extends ACursor
- sealed abstract class Json extends Product with Serializable
A data type representing possible JSON values.
- sealed abstract class JsonNumber extends Serializable
A JSON number with optimization by cases.
- sealed abstract class JsonObject extends Serializable
A mapping from keys to JSON values that maintains insertion order.
- trait KeyDecoder[A] extends Serializable
A type class that provides a conversion from a string used as a JSON key to a value of type
A
. - trait KeyEncoder[A] extends Serializable
A type class that provides a conversion from a value of type
A
to a string.A type class that provides a conversion from a value of type
A
to a string.This type class will be used to create strings for JSON keys when encoding
Map[A, ?]
instances as JSON.Note that if more than one value maps to the same string, the resulting JSON object may have fewer fields than the original map.
- trait Parser extends Serializable
- final case class ParsingFailure(message: String, underlying: Throwable) extends Error with Product with Serializable
An exception representing a parsing failure and wrapping the exception provided by the parsing library.
- final case class Printer(dropNullValues: Boolean, indent: String, lbraceLeft: String = "", lbraceRight: String = "", rbraceLeft: String = "", rbraceRight: String = "", lbracketLeft: String = "", lbracketRight: String = "", rbracketLeft: String = "", rbracketRight: String = "", lrbracketsEmpty: String = "", arrayCommaLeft: String = "", arrayCommaRight: String = "", objectCommaLeft: String = "", objectCommaRight: String = "", colonLeft: String = "", colonRight: String = "", reuseWriters: Boolean = false, predictSize: Boolean = false, escapeNonAscii: Boolean = false, sortKeys: Boolean = false) extends Product with Serializable
A pretty-printer for JSON values.
A pretty-printer for JSON values.
- dropNullValues
Determines if object fields with values of null are dropped from the output.
- indent
The indentation to use if any format strings contain a new line.
- lbraceLeft
Spaces to insert to left of a left brace.
- lbraceRight
Spaces to insert to right of a left brace.
- rbraceLeft
Spaces to insert to left of a right brace.
- rbraceRight
Spaces to insert to right of a right brace.
- lbracketLeft
Spaces to insert to left of a left bracket.
- lbracketRight
Spaces to insert to right of a left bracket.
- rbracketLeft
Spaces to insert to left of a right bracket.
- rbracketRight
Spaces to insert to right of a right bracket.
- lrbracketsEmpty
Spaces to insert for an empty array.
- arrayCommaLeft
Spaces to insert to left of a comma in an array.
- arrayCommaRight
Spaces to insert to right of a comma in an array.
- objectCommaLeft
Spaces to insert to left of a comma in an object.
- objectCommaRight
Spaces to insert to right of a comma in an object.
- colonLeft
Spaces to insert to left of a colon.
- colonRight
Spaces to insert to right of a colon.
- reuseWriters
Determines whether the printer will reuse Appendables via thread-local storage.
- predictSize
Uses an adaptive size predictor to avoid grow-and-copy steps while printing into a binary output.
- escapeNonAscii
Unicode-escape any non-ASCII characters in strings.
- sortKeys
Determines whether the fields should be sorted.
Value Members
- object ACursor extends Serializable
- object Codec extends ProductCodecs with EnumerationCodecs with Serializable
- object CursorOp extends Serializable
- object Decoder extends DecoderDerivation with CollectionDecoders with TupleDecoders with ProductDecoders with LiteralDecoders with EnumerationDecoders with LowPriorityDecoders with Serializable
Utilities and instances for Decoder.
- object DecodingFailure extends Serializable
- object Encoder extends TupleEncoders with ProductEncoders with LiteralEncoders with EnumerationEncoders with MidPriorityEncoders with Serializable
Utilities and instances for Encoder.
- object Error extends Serializable
- object HCursor extends Serializable
- object Json extends Serializable
- object JsonNumber extends Serializable
Constructors, type class instances, and other utilities for JsonNumber.
- object JsonObject extends Serializable
Constructors, type class instances, and other utilities for JsonObject.
- object KeyDecoder extends Serializable
- object KeyEncoder extends Serializable
- object ParsingFailure extends Serializable
- object Printer extends Serializable
- object disjunctionCodecs
Decoder and Encoder instances for disjunction types with reasonable names for the sides.