• Stars
    star
    11
  • Rank 1,694,829 (Top 34 %)
  • Language
    Scala
  • Created about 12 years ago
  • Updated almost 7 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Persist-Json, a Fast Json Parser Written in Scala

Latest version

Persist-Json is a new fast Json parser written in Scala. It includes:

  1. A standard Scala tree form of Json based on Scala immutable collections.
  2. A very fast Json parser that takes a Json string and produces the Scala form.
  3. A very fast Compact unparser that takes the Scala form and produces a compact single-line Json string.
  4. A Pretty unparser that takes the Scala form and produces a nicely formatted Json string.
  5. A set of methods for working with the Scala form that augment the existing standard collection methods.
  6. A mapper that converts between the Scala form and user-defined classes.

Documentation

  1. ScalaDoc

Reference

Persist-Json can be referenced in sbt from Maven Central as

"com.persist" % "persist-json_2.12" % "1.2.0"

"com.persist" % "persist-json_2.11" % "1.1.3"

History

This parser started as part of the OStore NoSQL database project.

OStore

OStore makes extensive use of Json and needed a pure-Scala Json parser whose output would be immutable Scala data. For this purpose, the Twitter parser based on the parsing combinator example in the Odersky book was choosen.

Twitter Json

Although it met the functional need, it was much too slow. The OStore Json parser mostly maintains the API of the Twitter Json parser but is very much faster.

Since the OStore Json parser has utility beyond its use in OStore, it was broken off as this separate Persist-Json GitHub project.

Thanks

YourKit is kindly supporting the Persist-Json open source project with its full-featured Java Profiler. YourKit, LLC is the creator of innovative and intelligent tools for profiling Java and .NET applications. Take a look at YourKit's leading software products: YourKit Java Profiler and YourKit .NET Profiler.