Skip to content
Scala Shell JavaScript
Latest commit 7c6102f Nov 7, 2012 @markhibberd markhibberd added argonaut
Failed to load latest commit information.
config tick versions Jun 28, 2012
project added argonaut Nov 7, 2012
.gitignore denting it up yo Apr 4, 2012 added some notes about scalaz-seven release Aug 13, 2012


What is Argonaut?

Argonaut is a JSON library built using Scala. It provides functionality to specify how to convert to and from JSON for an arbitrary Scala object. It relies on the Scala parser libraries (util.parsing.combinator) to read an arbitrary string into a JSON data type, which is known to be slow. Argonaut is licenced under BSD3 (see etc/LICENCE).

The JSON data type also implements a large combinator library in an effort to make it easy to use, however, much of this library would be better implemented by exploiting partial lenses and a zipper.

Argonaut is intended for simple applications that use specification-compliant JSON. Argonaut is released under a BSD3 open-source licence.


  • Lenses and partial lenses for product and sum types, in particular for viewing and updating values of the Json sum type.
  • A zipper (com.ephox.argonaut.Cursor) for traversing and updating a Json data structure.
  • A traversal data structure (com.ephox.argonaut.Shift) that tracks its history of visited positions with an underlying cursor.
  • A pretty-printer for outputting JSON values.
  • A codec for taking values of arbitrary type to and from JSON values.

SBT Settings

To use argonaut, add the following repositories to your build:

override lazy val settings =
  super.settings ++
    Seq(resolvers := Seq(
      " snapshots"  at ""
    , " releases"  at ""
    , "snapshots" at ""
    , "releases"  at ""

Note that we are currently using a head version of scalaz-seven until it gets released. But it should be fine to use scalaz-seven M2 if required.

Then add argonaut as a dependency:

"com.ephox" %% "argonaut" % "4.0" withSources

Future Improvements

  • Use a more appropriate parser library (not Scala parsers) to improve performance and usability.

Copyright 2012 Ephox Pty Ltd

Something went wrong with that request. Please try again.