Json serializer helper functions.
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 16MB by default.
ByteBuffer must use BIG ENDIAN to ensure the correct byte string comparison for integers and floating numbers.
This JSON Serializer recursively encodes each field to a byte string, which can be saved separately to a column in BigTable.
This JSON Serializer recursively encodes each field to a byte string, which can be saved separately to a column in BigTable. The JsonPath of field can be used as the column name.
Not Multi-threading safe. Each thread should have its own ColumnarJsonSerializer instance.
ByteBuffer must use BIG ENDIAN to ensure the correct byte string comparison for integers and floating numbers.
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.
Data frame of named columns.
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.
JSON value.
An implementation of JSONPath that follows the semantics described by Stefan Goessner on his blog.
An implementation of JSONPath that follows the semantics described by Stefan Goessner on his blog.
Adopt from https://github.com/josephpconley/play-jsonpath
This parser supports all queries except for queries that rely on expressions of the underlying language like $..book[(@.length-1)]. However, there’s usually a ready workaround as you can execute the same query using $..book[-1:].
One deviation from JSONPath is to always flatten the results of a recursive query. Using the bookstore example, typically a query of $..book will return an array with one element, the array of books. If there was another book array somewhere in the document, then $..book will return an array with two elements, both arrays of books. However, if you were to query $..book[2] for our example, you would get the second book in the first array, which assumes that the $..book result has been flattened. In order to make recursion easier and the code simpler, we always flatten the result of recursive queries regardless of the context.
A JsonPrinter serializes a JSON AST to a String.
A JsonPrinter serializes a JSON AST to a String. Adopt from spray-json.
A JsonPrinter that produces a nicely readable JSON source.
A JsonPrinter that produces a nicely readable JSON source. Adopt from spray-json.
A row in data frame.
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.