Package

smile

json

Permalink

package json

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

Type Members

  1. trait CompactPrinter extends JsonPrinter

    Permalink

    A JsonPrinter that produces compact JSON source without any superfluous whitespace.

    A JsonPrinter that produces compact JSON source without any superfluous whitespace. Adopt from spray-json.

  2. case class JsArray(elements: ArrayBuffer[JsValue]) extends JsValue with Traversable[JsValue] with Product with Serializable

    Permalink
  3. case class JsBinary(value: Array[Byte]) extends JsValue with Product with Serializable

    Permalink
  4. case class JsBoolean(value: Boolean) extends JsValue with Ordered[JsBoolean] with Product with Serializable

    Permalink
  5. case class JsCounter(value: Long) extends JsValue with Ordered[JsCounter] with Product with Serializable

    Permalink

    A counter is a 64 bit integer.

    A counter is a 64 bit integer. The difference from JsLong is mostly for internal representation in database. For encoding reason, the effective number of bits are 56, which should be big enough in practice.

  6. case class JsDate(value: LocalDate) extends JsValue with Ordered[JsDate] with Product with Serializable

    Permalink

    An immutable date without a time-zone in the ISO-8601 calendar system, often viewed as year-month-day such as 2007-12-03.

  7. case class JsDateTime(value: LocalDateTime) extends JsValue with Ordered[JsDateTime] with Product with Serializable

    Permalink

    An immutable date-time without a time-zone in the ISO-8601 calendar system, such as 2007-12-03T10:15:30.

    An immutable date-time without a time-zone in the ISO-8601 calendar system, such as 2007-12-03T10:15:30. Although LocalTime/JsTime can be represented to nanosecond precision, a JSON serializer may not store the nano-of-second field to save the space. To preserve the high precision of time, JsTimestamp should be employed.

  8. case class JsDecimal(value: BigDecimal) extends JsValue with Ordered[JsDecimal] with Product with Serializable

    Permalink
  9. case class JsDouble(value: Double) extends JsValue with Ordered[JsDouble] with Product with Serializable

    Permalink
  10. case class JsInt(value: Int) extends JsValue with Ordered[JsInt] with Product with Serializable

    Permalink
  11. case class JsLong(value: Long) extends JsValue with Ordered[JsLong] with Product with Serializable

    Permalink
  12. case class JsObject(fields: Map[String, JsValue]) extends JsValue with Product with Serializable

    Permalink
  13. case class JsObjectId(value: ObjectId) extends JsValue with Product with Serializable

    Permalink
  14. case class JsString(value: String) extends JsValue with Ordered[JsString] with Product with Serializable

    Permalink
  15. case class JsTime(value: LocalTime) extends JsValue with Ordered[JsTime] with Product with Serializable

    Permalink

    An immutable time without a time-zone in the ISO-8601 calendar system, often viewed as hour-minute-second such as 10:15:30.

    An immutable time without a time-zone in the ISO-8601 calendar system, often viewed as hour-minute-second such as 10:15:30. Although LocalTime/JsTime can be represented to nanosecond precision, a JSON serializer may not store the nano-of-second field to save the space. To preserve the high precision of time, JsTimestamp should be employed.

  16. case class JsTimestamp(value: Timestamp) extends JsValue with Ordered[JsTimestamp] with Product with Serializable

    Permalink

    An SQL TIMESTAMP value.

    An SQL TIMESTAMP value. It adds the ability to hold the SQL TIMESTAMP fractional seconds value, by allowing the specification of fractional seconds to a precision of nanoseconds. Support the JDBC escape syntax for timestamp values.

    The precision of a Timestamp object is calculated to be either:

    • 19 , which is the number of characters in yyyy-mm-dd hh:mm:ss
    • 20 + s , which is the number of characters in the yyyy-mm-dd hh:mm:ss.[fff...] and s represents the scale of the given Timestamp, its fractional seconds precision.
  17. type JsTopLevel = Either[JsObject, JsArray]

    Permalink
  18. case class JsUUID(value: UUID) extends JsValue with Product with Serializable

    Permalink
  19. sealed trait JsValue extends Dynamic

    Permalink

    JSON value.

  20. implicit final class JsonHelper extends AnyVal

    Permalink

    Enable json .

  21. class JsonParser extends AnyRef

    Permalink
  22. trait JsonPrinter extends (JsValue) ⇒ String

    Permalink

    A JsonPrinter serializes a JSON AST to a String.

    A JsonPrinter serializes a JSON AST to a String. Adopt from spray-json.

  23. class JsonSerializer extends LazyLogging

    Permalink

    JSON Serializer in BSON format as defined by http://bsonspec.org/spec.html.

    JSON Serializer in BSON format as defined by http://bsonspec.org/spec.html. This is not fully compatible with BSON spec, where the root must be a document/JsObject. In contrast, the root can be any JsValue in our implementation. Correspondingly, the root will always has the type byte as the first byte.

    Not Multi-threading safe. Each thread should have its own BsonSerializer instance. Data size limit to 10MB by default.

    Although JsTime/JsDateTime can be represented to nanosecond precision, we don't store the nano-of-second field to save the space. To preserve the high precision of time, JsTimestamp should be employed and of course consumes more space.

  24. case class ObjectId(id: Array[Byte]) extends Product with Serializable

    Permalink

    BSON's 12-byte ObjectId type, constructed using: a 4-byte value representing the seconds since the Unix epoch, a 3-byte machine identifier, a 2-byte process id, and a 3-byte counter, starting with a random value.

    BSON's 12-byte ObjectId type, constructed using: a 4-byte value representing the seconds since the Unix epoch, a 3-byte machine identifier, a 2-byte process id, and a 3-byte counter, starting with a random value.

    The implementation is adopt from ReactiveMongo.

  25. trait ParserInput extends AnyRef

    Permalink
  26. trait PrettyPrinter extends JsonPrinter

    Permalink

    A JsonPrinter that produces a nicely readable JSON source.

    A JsonPrinter that produces a nicely readable JSON source. Adopt from spray-json.

Value Members

  1. object CompactPrinter extends CompactPrinter

    Permalink
  2. object JsArray extends Serializable

    Permalink
  3. object JsBoolean extends Serializable

    Permalink
  4. object JsCounter extends Serializable

    Permalink
  5. object JsDate extends Serializable

    Permalink
  6. object JsDateTime extends Serializable

    Permalink
  7. object JsDecimal extends Serializable

    Permalink
  8. object JsDouble extends Serializable

    Permalink
  9. val JsFalse: JsBoolean

    Permalink
  10. object JsInt extends Serializable

    Permalink
  11. object JsLong extends Serializable

    Permalink
  12. object JsNull extends JsValue with Product with Serializable

    Permalink
  13. object JsObject extends Serializable

    Permalink
  14. object JsObjectId extends Serializable

    Permalink
  15. object JsString extends Serializable

    Permalink
  16. object JsTime extends Serializable

    Permalink
  17. object JsTimestamp extends Serializable

    Permalink
  18. val JsTrue: JsBoolean

    Permalink
  19. object JsUUID extends Serializable

    Permalink
  20. object JsUndefined extends JsValue with Product with Serializable

    Permalink
  21. object JsValueOrdering extends Ordering[JsValue]

    Permalink
  22. object JsonParser

    Permalink

    Fast, no-dependency parser for JSON as defined by http://tools.ietf.org/html/rfc4627.

    Fast, no-dependency parser for JSON as defined by http://tools.ietf.org/html/rfc4627. Adopt from spray-json.

  23. object JsonPrinter

    Permalink
  24. object JsonSerializer

    Permalink
  25. object ObjectId extends Serializable

    Permalink
  26. object ParserInput

    Permalink
  27. object PrettyPrinter extends PrettyPrinter

    Permalink
  28. implicit def array2JsValue[T <: JsValue](x: Array[T]): JsArray

    Permalink
  29. implicit def bigdecimal2JsValue(x: BigDecimal): JsDecimal

    Permalink
  30. implicit def boolean2JsValue(x: Boolean): JsBoolean

    Permalink
  31. implicit def byteArray2JsValue(x: Array[Byte]): JsBinary

    Permalink
  32. implicit def date2JsValue(x: Date): JsTimestamp

    Permalink
  33. implicit def double2JsValue(x: Double): JsDouble

    Permalink
  34. implicit def int2JsValue(x: Int): JsInt

    Permalink
  35. implicit def jsArrayTopLevel(x: JsArray): Right[Nothing, JsArray]

    Permalink
  36. implicit def jsObjectTopLevel(x: JsObject): Left[JsObject, Nothing]

    Permalink
  37. implicit def json2BigDecimal(json: JsValue): BigDecimal

    Permalink
  38. implicit def json2BigDecimal(x: JsDecimal): BigDecimal

    Permalink
  39. implicit def json2Binary(x: JsBinary): Array[Byte]

    Permalink
  40. implicit def json2Boolean(json: JsValue): Boolean

    Permalink
  41. implicit def json2Boolean(x: JsBoolean): Boolean

    Permalink
  42. implicit def json2ByteArray(json: JsValue): Array[Byte]

    Permalink
  43. implicit def json2Date(json: JsValue): Date

    Permalink
  44. implicit def json2Date(x: JsTimestamp): Date

    Permalink
  45. implicit def json2Date(x: JsDate): LocalDate

    Permalink
  46. implicit def json2DateTime(x: JsDateTime): LocalDateTime

    Permalink
  47. implicit def json2Double(json: JsValue): Double

    Permalink
  48. implicit def json2Double(x: JsDouble): Double

    Permalink
  49. implicit def json2Int(json: JsValue): Int

    Permalink
  50. implicit def json2Int(x: JsInt): Int

    Permalink
  51. implicit def json2LocalDate(json: JsValue): LocalDate

    Permalink
  52. implicit def json2LocalDateTime(json: JsValue): LocalDateTime

    Permalink
  53. implicit def json2LocalTime(json: JsValue): LocalTime

    Permalink
  54. implicit def json2Long(json: JsValue): Long

    Permalink
  55. implicit def json2Long(x: JsLong): Long

    Permalink
  56. implicit def json2ObjectId(x: JsObjectId): ObjectId

    Permalink
  57. implicit def json2String(json: JsValue): String

    Permalink
  58. implicit def json2String(x: JsString): String

    Permalink
  59. implicit def json2Time(x: JsTime): LocalTime

    Permalink
  60. implicit def json2Timestamp(json: JsValue): Timestamp

    Permalink
  61. implicit def json2Timestamp(x: JsTimestamp): Timestamp

    Permalink
  62. implicit def json2UUID(x: JsUUID): UUID

    Permalink
  63. implicit def localDate2JsValue(x: LocalDate): JsDate

    Permalink
  64. implicit def localDateTime2JsValue(x: LocalDateTime): JsDateTime

    Permalink
  65. implicit def localTime2JsValue(x: LocalTime): JsTime

    Permalink
  66. implicit def long2JsValue(x: Long): JsLong

    Permalink
  67. implicit def map2JsValue[T <: JsValue](x: Map[String, T]): JsObject

    Permalink
  68. implicit def map2JsValue(x: Map[String, JsValue]): JsObject

    Permalink
  69. implicit def map2JsValue[T <: JsValue](x: Seq[(String, T)]): JsObject

    Permalink
  70. implicit def objectId2JsValue(x: ObjectId): JsObjectId

    Permalink
  71. implicit def pimpBigDecimalArray(x: Array[BigDecimal]): PimpedBigDecimalSeq

    Permalink
  72. implicit def pimpBigDecimalMap(x: Map[String, BigDecimal]): PimpedBigDecimalMap

    Permalink
  73. implicit def pimpBigDecimalMutableMap(x: Map[String, BigDecimal]): PimpedBigDecimalMutableMap

    Permalink
  74. implicit def pimpBigDecimalSeq(x: Seq[BigDecimal]): PimpedBigDecimalSeq

    Permalink
  75. implicit def pimpBooleanArray(x: Array[Boolean]): PimpedBooleanSeq

    Permalink
  76. implicit def pimpBooleanMap(x: Map[String, Boolean]): PimpedBooleanMap

    Permalink
  77. implicit def pimpBooleanMutableMap(x: Map[String, Boolean]): PimpedBooleanMutableMap

    Permalink
  78. implicit def pimpBooleanSeq(x: Seq[Boolean]): PimpedBooleanSeq

    Permalink
  79. implicit def pimpDateArray(x: Array[Date]): PimpedDateSeq

    Permalink
  80. implicit def pimpDateArray(x: Seq[Date]): PimpedDateSeq

    Permalink
  81. implicit def pimpDateMap(x: Map[String, Date]): PimpedDateMap

    Permalink
  82. implicit def pimpDateMutableMap(x: Map[String, Date]): PimpedDateMutableMap

    Permalink
  83. implicit def pimpDoubleArray(x: Array[Double]): PimpedDoubleSeq

    Permalink
  84. implicit def pimpDoubleMap(x: Map[String, Double]): PimpedDoubleMap

    Permalink
  85. implicit def pimpDoubleMutableMap(x: Map[String, Double]): PimpedDoubleMutableMap

    Permalink
  86. implicit def pimpDoubleSeq(x: Seq[Double]): PimpedDoubleSeq

    Permalink
  87. implicit def pimpIntArray(x: Array[Int]): PimpedIntSeq

    Permalink
  88. implicit def pimpIntMap(x: Map[String, Int]): PimpedIntMap

    Permalink
  89. implicit def pimpIntMutableMap(x: Map[String, Int]): PimpedIntMutableMap

    Permalink
  90. implicit def pimpIntSeq(x: Seq[Int]): PimpedIntSeq

    Permalink
  91. implicit def pimpLocalDateArray(x: Array[LocalDate]): PimpedLocalDateSeq

    Permalink
  92. implicit def pimpLocalDateArray(x: Seq[LocalDate]): PimpedLocalDateSeq

    Permalink
  93. implicit def pimpLocalDateTimeArray(x: Array[LocalDateTime]): PimpedLocalDateTimeSeq

    Permalink
  94. implicit def pimpLocalDateTimeArray(x: Seq[LocalDateTime]): PimpedLocalDateTimeSeq

    Permalink
  95. implicit def pimpLocalTimeArray(x: Array[LocalTime]): PimpedLocalTimeSeq

    Permalink
  96. implicit def pimpLocalTimeArray(x: Seq[LocalTime]): PimpedLocalTimeSeq

    Permalink
  97. implicit def pimpLongArray(x: Array[Long]): PimpedLongSeq

    Permalink
  98. implicit def pimpLongMap(x: Map[String, Long]): PimpedLongMap

    Permalink
  99. implicit def pimpLongMutableMap(x: Map[String, Long]): PimpedLongMutableMap

    Permalink
  100. implicit def pimpLongSeq(x: Seq[Long]): PimpedLongSeq

    Permalink
  101. implicit def pimpString(string: String): PimpedString

    Permalink
  102. implicit def pimpStringArray(x: Array[String]): PimpedStringSeq

    Permalink
  103. implicit def pimpStringMap(x: Map[String, String]): PimpedStringMap

    Permalink
  104. implicit def pimpStringMutableMap(x: Map[String, String]): PimpedStringMutableMap

    Permalink
  105. implicit def pimpStringSeq(x: Seq[String]): PimpedStringSeq

    Permalink
  106. implicit def pimpTimestampArray(x: Array[Timestamp]): PimpedTimestampSeq

    Permalink
  107. implicit def pimpTimestampArray(x: Seq[Timestamp]): PimpedTimestampSeq

    Permalink
  108. implicit def seq2JsValue[T <: JsValue](x: Seq[T]): JsArray

    Permalink
  109. implicit def string2JsValue(x: String): JsString

    Permalink
  110. implicit def timestamp2JsValue(x: Timestamp): JsTimestamp

    Permalink
  111. implicit def uuid2JsValue(x: UUID): JsUUID

    Permalink

Inherited from AnyRef

Inherited from Any

Ungrouped