p

ujson

package ujson

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ujson
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. case class Arr(value: ArrayBuffer[Value]) extends Value with Product with Serializable
  2. trait AstTransformer[I] extends Transformer[I] with JsVisitor[I, I]
  3. class BaseRenderer[T <: Writer] extends JsVisitor[T, T]
  4. sealed abstract class Bool extends Value
  5. final class ByteArrayParser[J] extends Parser[J] with ByteBasedParser[J]

    Basic ByteBuffer parser.

    Basic ByteBuffer parser.

    This assumes that the provided ByteBuffer is ready to be read. The user is responsible for any necessary flipping/resetting of the ByteBuffer before parsing.

    The parser makes absolute calls to the ByteBuffer, which will not update its own mutable position fields.

  6. trait ByteBasedParser[J] extends Parser[J]

    Trait used when the data to be parsed is in UTF-8.

    Trait used when the data to be parsed is in UTF-8.

    This parser has to translate input bytes to Chars and Strings. It provides a byte() method to access individual bytes, and also parser strings from bytes.

    Its parseString() implementation has two cases. In the first case (the hot path) the string has no escape sequences and we can just UTF-8 decode the entire set of bytes. In the second case, it goes to some trouble to be sure to de-escape correctly given that the input data is UTF-8.

  7. final class ByteBufferParser[J] extends Parser[J] with ByteBasedParser[J]

    Basic ByteBuffer parser.

    Basic ByteBuffer parser.

    This assumes that the provided ByteBuffer is ready to be read. The user is responsible for any necessary flipping/resetting of the ByteBuffer before parsing.

    The parser makes absolute calls to the ByteBuffer, which will not update its own mutable position fields.

  8. case class BytesRenderer(indent: Int = -1, escapeUnicode: Boolean = false) extends BaseRenderer[BytesWriter] with Product with Serializable
  9. trait CharBasedParser[J] extends Parser[J]

    Trait used when the data to be parsed is in UTF-16.

    Trait used when the data to be parsed is in UTF-16.

    This parser provides parseString(). Like ByteBasedParser it has fast/slow paths for string parsing depending on whether any escapes are present.

    It is simpler than ByteBasedParser.

  10. case class IncompleteParseException(msg: String, cause: Throwable) extends Exception with ParsingFailedException with Product with Serializable
  11. sealed trait IndexedValue extends AnyRef

    A version of ujson.Value that keeps the index positions of the various AST nodes it is constructing.

    A version of ujson.Value that keeps the index positions of the various AST nodes it is constructing. Usually not necessary, but sometimes useful if you want to work with an AST but still provide source-index error positions if something goes wrong

  12. final class InputStreamParser[J] extends Parser[J] with ByteBasedParser[J] with BufferingInputStreamParser

    Parser that reads in bytes from an InputStream, buffering them in memory until a reset call discards them.

    Parser that reads in bytes from an InputStream, buffering them in memory until a reset call discards them.

    Mostly the same as ByteArrayParser, except using an UberBuffer rather than reading directly from an Array[Byte].

    Generally not meant to be used directly, but via ujson.Readable.fromReadable

  13. trait JsVisitor[-T, +J] extends Visitor[T, J]

    A Visitor specialized to work with JSON types.

    A Visitor specialized to work with JSON types. Forwards the not-JSON-related methods to their JSON equivalents.

  14. case class Num(value: Double) extends Value with Product with Serializable
  15. case class Obj(value: LinkedHashMap[String, Value]) extends Value with Product with Serializable
  16. case class ParseException(clue: String, index: Int, line: Int, col: Int) extends Exception with ParsingFailedException with Product with Serializable
  17. abstract class Parser[J] extends AnyRef

    Parser implements a state machine for correctly parsing JSON data.

    Parser implements a state machine for correctly parsing JSON data.

    The trait relies on a small number of methods which are left abstract, and which generalize parsing based on whether the input is in Bytes or Chars, coming from Strings, files, or other input. All methods provided here are protected, so different parsers can choose which functionality to expose.

    Parser is parameterized on J, which is the type of the JSON AST it will return. Jawn can produce any AST for which a Facade[J] is available.

    The parser trait does not hold any state itself, but particular implementations will usually hold state. Parser instances should not be reused between parsing runs.

    For now the parser requires input to be in UTF-8. This requirement may eventually be relaxed.

  18. sealed trait ParsingFailedException extends Exception
  19. trait Readable extends AnyRef
  20. trait ReadableLowPri extends AnyRef
  21. case class Renderer(out: Writer, indent: Int = -1, escapeUnicode: Boolean = false) extends BaseRenderer[Writer] with Product with Serializable
  22. case class Str(value: String) extends Value with Product with Serializable
  23. case class StringRenderer(indent: Int = -1, escapeUnicode: Boolean = false) extends BaseRenderer[StringWriter] with Product with Serializable
  24. trait Transformer[I] extends AnyRef
  25. sealed trait Value extends Readable with Writable
  26. type Js = Value
    Annotations
    @deprecated
    Deprecated

    use ujson.Value

Value Members

  1. def copy(t: ujson.Value.Value): ujson.Value.Value
  2. def read(s: Readable): ujson.Value.Value

    Read the given JSON input as a JSON struct

  3. def reformat(s: Readable, indent: Int = -1, escapeUnicode: Boolean = false): String

    Parse the given JSON input and write it to a string with the configured formatting

  4. def reformatTo(s: Readable, out: Writer, indent: Int = -1, escapeUnicode: Boolean = false): Unit

    Parse the given JSON input and write it to a string with the configured formatting to the given Writer

  5. def transform[T](t: Readable, v: Visitor[_, T]): T
  6. def validate(s: Readable): Unit

    Parse the given JSON input, failing if it is invalid

  7. def write(t: ujson.Value.Value, indent: Int = -1, escapeUnicode: Boolean = false): String

    Write the given JSON struct as a JSON String

  8. def writeTo(t: ujson.Value.Value, out: Writer, indent: Int = -1, escapeUnicode: Boolean = false): Unit

    Write the given JSON struct as a JSON String to the given Writer

  9. object Arr extends Serializable
  10. object Bool
  11. object ByteArrayParser extends Transformer[Array[Byte]]
  12. object ByteBufferParser extends Transformer[ByteBuffer]
  13. object BytesRenderer extends Serializable
  14. object CharSequenceParser extends Transformer[CharSequence]
  15. object False extends Bool with Product with Serializable
  16. object IndexedValue extends Transformer[IndexedValue]
  17. object InputStreamParser extends Transformer[InputStream]
  18. object Null extends Value with Product with Serializable
  19. object Obj extends Serializable
  20. object Readable extends ReadableLowPri
  21. object Renderer extends Serializable
  22. object StringParser extends Transformer[String]
  23. object True extends Bool with Product with Serializable
  24. object Value extends AstTransformer[Value]

    A very small, very simple JSON AST that uPickle uses as part of its serialization process.

    A very small, very simple JSON AST that uPickle uses as part of its serialization process. A common standard between the Jawn AST (which we don't use so we don't pull in the bulk of Spire) and the Javascript JSON AST.

Deprecated Value Members

  1. val Js: Value.type
    Annotations
    @deprecated
    Deprecated

    use ujson.Value

Inherited from AnyRef

Inherited from Any

Ungrouped