Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>Unfortunately writing a JSON library is the Scala community's version of coding a todo list app.</p> <p>There are quite a variety of alternatives. I list them in no particular order, with notes:</p> <ol> <li><a href="http://www.scala-lang.org/api/2.9.3-RC2/scala/util/parsing/json/JSON$.html" rel="noreferrer">parsing.json.JSON</a> - <strong>Warning</strong> this library is available only up to Scala version 2.9.x (removed in newer versions)</li> <li><a href="https://github.com/spray/spray-json" rel="noreferrer">spray-json</a> - Extracted from the Spray project</li> <li><a href="https://github.com/codahale/jerkson" rel="noreferrer">Jerkson</a> ± - <strong>Warning</strong> a nice library (built on top of Java Jackson) but now abandonware. If you are going to use this, probably follow the Scalding project's example and use the <a href="https://github.com/backchatio/jerkson" rel="noreferrer">backchat.io fork</a></li> <li><a href="https://github.com/debasishg/sjson" rel="noreferrer">sjson</a> - By Debasish Ghosh</li> <li><a href="https://github.com/lift/lift/tree/master/framework/lift-base/lift-json/" rel="noreferrer">lift-json</a> - Can be used separately from the Lift project</li> <li><a href="https://github.com/json4s/json4s" rel="noreferrer">json4s</a> § ± - An extraction from lift-json, which is attempting to create a standard JSON AST which other JSON libraries can use. Includes a Jackson-backed implementation</li> <li><a href="http://argonaut.io/" rel="noreferrer">Argonaut</a> § - A FP-oriented JSON library for Scala, from the people behind Scalaz</li> <li><a href="http://www.playframework.org/documentation/2.0/ScalaJson" rel="noreferrer">play-json</a> ± - Now available standalone, see <a href="https://stackoverflow.com/questions/19436069/adding-play-json-library-to-sbt/20475410#20475410">this answer for details</a></li> <li><a href="https://github.com/pathikrit/dijon" rel="noreferrer">dijon</a> - <strong>Warning</strong> abandoned. A dynamically typed Scala JSON library</li> <li><a href="https://github.com/wspringer/sonofjson" rel="noreferrer">sonofjson</a> - JSON library aiming for a super-simple API</li> <li><a href="https://github.com/non/jawn" rel="noreferrer">Jawn</a> - JSON library by Erik Osheim aiming for Jackson-or-faster speed</li> <li><a href="https://github.com/propensive/rapture-json" rel="noreferrer">Rapture JSON</a> ± - a JSON front-end which can use 2, 4, 5, 6, 7, 11 or Jackson as back-ends</li> <li><a href="https://github.com/travisbrown/circe" rel="noreferrer">circe</a> - fork of Argonaut built on top of <a href="https://github.com/typelevel/cats" rel="noreferrer">cats</a> instead of scalaz</li> <li><a href="https://github.com/plokhotnyuk/jsoniter-scala" rel="noreferrer">jsoniter-scala</a> - Scala macros for compile-time generation of ultra-fast JSON codecs</li> </ol> <p>§ = has Scalaz integration, ± = supports interop with Jackson <code>JsonNode</code></p> <p>In <a href="https://github.com/snowplow/snowplow" rel="noreferrer">Snowplow</a> we use json4s with the Jackson back-end; we've had good experiences with Argonaut too.</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload