ujson
package ujson
- Alphabetic
- By Inheritance
- ujson
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Type Members
- case class Arr(value: ArrayBuffer[Value]) extends Value with Product with Serializable
- trait AstTransformer[I] extends Transformer[I] with JsVisitor[I, I]
- class BaseByteRenderer[T <: Output] extends JsVisitor[T, T]
A specialized JSON renderer that can render Bytes (Chars or Bytes) directly to a java.io.Writer or java.io.OutputStream
A specialized JSON renderer that can render Bytes (Chars or Bytes) directly to a java.io.Writer or java.io.OutputStream
Note that we use an internal
ByteBuilderto buffer the output internally before sending it to out in batches. This lets us benefit from the high performance and minimal overhead ofByteBuilderin the fast path of pushing characters, and avoid the synchronization/polymorphism overhead of out on the fast path. Most outs would also have performance benefits from receiving data in batches, rather than byte by byte. - class BaseCharRenderer[T <: Output] extends JsVisitor[T, T]
A specialized JSON renderer that can render Chars (Chars or Bytes) directly to a java.io.Writer or java.io.OutputStream
A specialized JSON renderer that can render Chars (Chars or Bytes) directly to a java.io.Writer or java.io.OutputStream
Note that we use an internal
CharBuilderto buffer the output internally before sending it to out in batches. This lets us benefit from the high performance and minimal overhead ofCharBuilderin the fast path of pushing characters, and avoid the synchronization/polymorphism overhead of out on the fast path. Most outs would also have performance benefits from receiving data in batches, rather than char by char. - sealed abstract class Bool extends Value
- final class ByteArrayParser[J] extends ByteParser[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.
- final class ByteBufferParser[J] extends ByteParser[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.
- abstract class ByteParser[J] extends BufferingByteParser
A specialized JSON parse that can parse Bytes (Chars or Bytes), sending method calls to the given upickle.core.Visitor.
A specialized JSON parse that can parse Bytes (Chars or Bytes), sending method calls to the given upickle.core.Visitor.
Generally has a lot of tricks for performance: e.g. having duplicate implementations for nested v.s. top-level parsing, using an
ByteBuilderto construct theCharSequencesthatvisitStringrequires, etc. - case class BytesRenderer(indent: Int = -1, escapeUnicode: Boolean = false) extends BaseByteRenderer[ByteArrayOutputStream] with Product with Serializable
- abstract class CharParser[J] extends BufferingCharParser
A specialized JSON parse that can parse Chars (Chars or Bytes), sending method calls to the given upickle.core.Visitor.
A specialized JSON parse that can parse Chars (Chars or Bytes), sending method calls to the given upickle.core.Visitor.
Generally has a lot of tricks for performance: e.g. having duplicate implementations for nested v.s. top-level parsing, using an
CharBuilderto construct theCharSequencesthatvisitStringrequires, etc. - final class DoubleToDecimalByte extends AnyRef
This class exposes a method to render a
doubleas a string. - final class DoubleToDecimalChar extends AnyRef
This class exposes a method to render a
doubleas a string. - final class FloatToDecimalByte extends AnyRef
This class exposes a method to render a
floatas a string. - final class FloatToDecimalChar extends AnyRef
This class exposes a method to render a
floatas a string. - case class IncompleteParseException(msg: String) extends Exception with ParsingFailedException with Product with Serializable
- final class InputStreamParser[J] extends ByteParser[J] with BufferingInputStreamParser
Parser that reads in bytes from an InputStream, buffering them in memory until a
resetcall discards them.Parser that reads in bytes from an InputStream, buffering them in memory until a
resetcall 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
- 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.
- case class Num(value: Double) extends Value with Product with Serializable
- case class Obj(value: LinkedHashMap[String, Value]) extends Value with Product with Serializable
- case class ParseException(clue: String, index: Int) extends Exception with ParsingFailedException with Product with Serializable
- sealed trait ParsingFailedException extends Exception
- trait Readable extends AnyRef
- trait ReadableLowPri extends AnyRef
- case class Renderer(out: Writer, indent: Int = -1, escapeUnicode: Boolean = false) extends BaseCharRenderer[Writer] with Product with Serializable
- case class Str(value: String) extends Value with Product with Serializable
- case class StringRenderer(indent: Int = -1, escapeUnicode: Boolean = false) extends BaseCharRenderer[StringWriter] with Product with Serializable
- trait Transformer[I] extends upickle.core.Transformer[I]
- sealed trait Value extends Readable with Writable
Value Members
- def copy(t: ujson.Value.Value): ujson.Value.Value
- def read(s: Readable, trace: Boolean = false): ujson.Value.Value
Read the given JSON input as a JSON struct
- def reformat(s: Readable, indent: Int = -1, escapeUnicode: Boolean = false, sortKeys: Boolean = false): String
Parse the given JSON input and write it to a string with the configured formatting
- def reformatTo(s: Readable, out: Writer, indent: Int = -1, escapeUnicode: Boolean = false, sortKeys: Boolean = false): Unit
Parse the given JSON input and write it to a string with the configured formatting to the given Writer
- def reformatToByteArray(s: Readable, indent: Int = -1, escapeUnicode: Boolean = false, sortKeys: Boolean = false): Array[Byte]
- def reformatToOutputStream(s: Readable, out: OutputStream, indent: Int = -1, escapeUnicode: Boolean = false, sortKeys: Boolean = false): Unit
Parse the given JSON input and write it to a string with the configured formatting to the given Writer
- def transform[T](t: Readable, v: Visitor[_, T], sortKeys: Boolean = false): T
- def validate(s: Readable): Unit
Parse the given JSON input, failing if it is invalid
- def write(t: ujson.Value.Value, indent: Int = -1, escapeUnicode: Boolean = false, sortKeys: Boolean = false): String
Write the given JSON struct as a JSON String
- def writeTo(t: ujson.Value.Value, out: Writer, indent: Int = -1, escapeUnicode: Boolean = false, sortKeys: Boolean = false): Unit
Write the given JSON struct as a JSON String to the given Writer
- def writeToByteArray(t: ujson.Value.Value, indent: Int = -1, escapeUnicode: Boolean = false, sortKeys: Boolean = false): Array[Byte]
- def writeToOutputStream(t: ujson.Value.Value, out: OutputStream, indent: Int = -1, escapeUnicode: Boolean = false, sortKeys: Boolean = false): Unit
- object Arr extends Serializable
- object BaseByteRenderer
- object BaseCharRenderer
- object Bool
- object ByteArrayParser extends Transformer[Array[Byte]]
- object ByteBufferParser extends Transformer[ByteBuffer]
- object CharSequenceParser extends Transformer[CharSequence]
- case object False extends Bool with Product with Serializable
- object InputStreamParser extends Transformer[InputStream]
- case object Null extends Value with Product with Serializable
- object Obj extends Serializable
- object Readable extends ReadableLowPri with Transformer[Readable]
- object StringParser extends Transformer[String]
- case object True extends Bool with Product with Serializable
- 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.