Packages

package play

Ordering
  1. Alphabetic
Visibility
  1. Public
  2. Protected

Type Members

  1. class PlayJson extends AstTransformer[JsValue]
  2. class UnorderedPlayJson extends PlayJson

    Uses ~0.6x of the heap of PlayJson in exchange for undefined order of JsObject keys.

    Uses ~0.6x of the heap of PlayJson in exchange for undefined order of JsObject keys. Ideal for

    jsValue.as[T]

    where order is irrelevant.

    Heap usage for a particularly large JSON file captured from the wild:

    • 814 MB: Array[Byte]
    • 5,629 MB: play.Json.parse()
    • 5,243 MB: FromJson().transform(PlayJson) (java.util.LinkedHashMap initialCapacity=2)
    • 3,355 MB: FromJson().transform(UnorderedPlayJson) (Map1-4 + TreeMap)
    • 3,107 MB: FromJson().transform(UnorderedPlayJson) (jsObjectEmpty + Map1-4 + TreeMap)

    jsValue.as[T] }}}

    Heap usage for a particularly large JSON file captured from the wild:

    • 814 MB: Array[Byte]
    • 5,629 MB: play.Json.parse()
    • 5,243 MB: FromJson().transform(PlayJson) (java.util.LinkedHashMap initialCapacity=2)
    • 3,355 MB: FromJson().transform(UnorderedPlayJson) (Map1-4 + TreeMap)
    • 3,107 MB: FromJson().transform(UnorderedPlayJson) (jsObjectEmpty + Map1-4 + TreeMap)

Value Members

  1. object JsValueSingletons

    Shared values to reduce memory usage.

  2. object PlayJson extends PlayJson
  3. object PlayJsonImplicits

    Convenience shims back to inefficient play-json formats.

    Convenience shims back to inefficient play-json formats.

    weePickle FromTo macros are more performant than using play-json Formats. play-json always requires going through an intermediate heavyweight AST: - JsValue boxes every type. Extra allocations. - JsObject is full of hash maps which are less efficient than struct-like classes (both cpu and memory).

  4. object UnorderedPlayJson extends UnorderedPlayJson

Ungrouped