fs2.data.json

package fs2.data.json

Handles stream parsing and traversing of json documents.

Attributes

Members list

Packages

Contains a DSL to build a json selector.

Contains a DSL to build a json selector. Start a selector with root and then chain the rest.

val sel = root.index(10).?.fields("a", "b").compile

Attributes

Type members

Classlikes

sealed trait IndexPredicate extends Int => Boolean

Attributes

Companion
object
Source
selectors.scala
Supertypes
trait Int => Boolean
class Object
trait Matchable
class Any
Known subtypes
object All.type
object None.type
class Range
class Several
class Single

Attributes

Companion
trait
Source
selectors.scala
Supertypes
trait Sum
trait Mirror
class Object
trait Matchable
class Any
Self type
sealed trait JsonContext

A JSON trace context, positioning the current location in the JSON value starting from the root.

A JSON trace context, positioning the current location in the JSON value starting from the root.

Attributes

Companion
object
Source
JsonContext.scala
Supertypes
class Object
trait Matchable
class Any
Known subtypes
class Index
class Key
object Root.type
object JsonContext

Attributes

Companion
trait
Source
JsonContext.scala
Supertypes
trait Sum
trait Mirror
class Object
trait Matchable
class Any
Self type
case class JsonException(msg: String, context: Option[JsonContext], inner: Throwable) extends Exception

Attributes

Source
JsonException.scala
Supertypes
trait Product
trait Equals
class Exception
class Throwable
trait Serializable
class Object
trait Matchable
class Any
Show all
class JsonMissingFieldException(msg: String, val missing: Set[String]) extends Exception

Attributes

Source
JsonException.scala
Supertypes
class Exception
class Throwable
trait Serializable
class Object
trait Matchable
class Any
Show all
case class JsonSelectorException(msg: String, idx: Int) extends Exception

Attributes

Source
SelectorParser.scala
Supertypes
trait Product
trait Equals
class Exception
class Throwable
trait Serializable
class Object
trait Matchable
class Any
Show all
final implicit class JsonSelectorStringOps(val s: String) extends AnyVal

Attributes

Source
package.scala
Supertypes
class AnyVal
trait Matchable
class Any
sealed trait NamePredicate extends String => Boolean

Attributes

Companion
object
Source
selectors.scala
Supertypes
trait String => Boolean
class Object
trait Matchable
class Any
Known subtypes
object All.type
object None.type
class Several
class Single
object NamePredicate

Attributes

Companion
trait
Source
selectors.scala
Supertypes
trait Sum
trait Mirror
class Object
trait Matchable
class Any
Self type
sealed trait Selector

Used to select tokens in a token stream.

Used to select tokens in a token stream.

Attributes

Companion
object
Source
selectors.scala
Supertypes
class Object
trait Matchable
class Any
Known subtypes
object Selector

Attributes

Companion
trait
Source
selectors.scala
Supertypes
trait Sum
trait Mirror
class Object
trait Matchable
class Any
Self type
Selector.type
class SelectorParser[F[_]](val input: String)(implicit F: MonadError[F, Throwable])

Parses a filter string.

Parses a filter string. Syntax is as follows:

Selector ::= `.`
          | Sel Sel*

Sel ::= `.` Name `!`? `?`?
     | `.` `[` String (`,` String)* `]` `!`? `?`?
     | `.` `[` Integer (`,` Integer)* `]` `?`?
     | `.` `[` Integer `:` Integer `]` `?`?
     | `.` `[` `]` `?`?

Name ::= [a-zA-Z_][a-zA-Z0-9_]*

String ::= <a json string>

Integer ::= 0
         | [1-9][0-9]*

Attributes

Companion
object
Source
SelectorParser.scala
Supertypes
class Object
trait Matchable
class Any

Attributes

Companion
class
Source
SelectorParser.scala
Supertypes
class Object
trait Matchable
class Any
Self type
sealed abstract class Token(val kind: String)

Attributes

Companion
object
Source
tokens.scala
Supertypes
class Object
trait Matchable
class Any
Known subtypes
object EndArray.type
object EndObject.type
object FalseValue.type
class Key
object NullValue.type
class NumberValue
object StartArray.type
object StartObject.type
class StringValue
object TrueValue.type
Show all
object Token

Attributes

Companion
class
Source
tokens.scala
Supertypes
trait Sum
trait Mirror
class Object
trait Matchable
class Any
Self type
Token.type
object collector

Json Token stream collectors.

Json Token stream collectors.

Attributes

Source
package.scala
Supertypes
class Object
trait Matchable
class Any
Self type
collector.type
object literals

Attributes

Source
package.scala
Supertypes
class Object
trait Matchable
class Any
Self type
literals.type
object render

Json Token stream pipes to render Json values.

Json Token stream pipes to render Json values.

Attributes

Source
package.scala
Supertypes
class Object
trait Matchable
class Any
Self type
render.type
object wrap

A collection of pipes to wrap streams inside objects.

A collection of pipes to wrap streams inside objects.

Attributes

Source
package.scala
Supertypes
class Object
trait Matchable
class Any
Self type
wrap.type

Value members

Concrete methods

def tokens[F[_], T](implicit F: RaiseThrowable[F], T: CharLikeChunks[F, T]): (F, T) => Token

Transforms a stream of characters into a stream of Json tokens.

Transforms a stream of characters into a stream of Json tokens. Emitted tokens are guaranteed to be valid up to that point. If the streams ends without failure, the sequence of tokens is sensured to represent a (potentially empty) sequence of valid Json documents.

Attributes

Source
package.scala

Deprecated methods

def filter[F[_]](selector: Selector, wrap: Boolean)(implicit F: RaiseThrowable[F]): (F, Token) => Token

Filters the tokens according to the given selector sequence.

Filters the tokens according to the given selector sequence. if wrap is set to true then values selected by array selector are wrapped into an array, and values selected by object selector are wrapped into an object with original key maintained.

Attributes

Deprecated
[Since version fs2-data 1.5.0] Use `fs2.data.json.jsonpath.filter` instead
Source
package.scala
def tokenize[F[_], Json](implicit tokenizer: Tokenizer[Json]): (F, Json) => Token

Transforms a stream of Json values into a stream of Json tokens.

Transforms a stream of Json values into a stream of Json tokens.

This operation is the opposite of values.

Attributes

Deprecated
[Since version fs2-data 1.3.0] Use `fs2.data.json.ast.tokenize` instead
Source
package.scala
def transform[F[_], Json](selector: Selector, f: Json => Json)(implicit F: RaiseThrowable[F], builder: Builder[Json], tokenizer: Tokenizer[Json]): (F, Token) => Token

Transforms a stream of token into another one.

Transforms a stream of token into another one. The transformation function f is called on every selected value from upstream, and the resulting value replaces it. The rest of the stream is left unchanged.

This operator locally creates Json AST values using the fs2.data.json.ast.Builder, and returns tokens as emitted by the fs2.data.json.ast.Tokenizer on the resulting value.

Attributes

Deprecated
[Since version fs2-data 1.3.0] Use `fs2.data.json.ast.transform` instead
Source
package.scala
def transformF[F[_], Json](selector: Selector, f: Json => F[Json])(implicit F: RaiseThrowable[F], builder: Builder[Json], tokenizer: Tokenizer[Json]): (F, Token) => Token

Transforms a stream of token into another one.

Transforms a stream of token into another one. The transformation function f is called on every selected value from upstream, and the resulting value replaces it. The rest of the stream is left unchanged. The operation can fail, in case the returned F is failed at one step.

This operator locally creates Json AST values using the fs2.data.json.ast.Builder, and returns tokens as emitted by the fs2.data.json.ast.Tokenizer on the resulting value.

Attributes

Deprecated
[Since version fs2-data 1.3.0] Use `fs2.data.json.ast.transformF` instead
Source
package.scala
def transformOpt[F[_], Json](selector: Selector, f: Json => Option[Json])(implicit F: RaiseThrowable[F], builder: Builder[Json], tokenizer: Tokenizer[Json]): (F, Token) => Token

Transforms a stream of token into another one.

Transforms a stream of token into another one. The transformation function f is called on every selected value from upstream, and the resulting value replaces it. If the function returns None, then the entire value is dropped (and the object key it is located at, if any). The rest of the stream is left unchanged.

This operator locally creates Json AST values using the fs2.data.json.ast.Builder, and returns tokens as emitted by the fs2.data.json.ast.Tokenizer on the resulting value.

Attributes

Deprecated
[Since version fs2-data 1.3.0] Use `fs2.data.json.ast.transformOpt` instead
Source
package.scala
def values[F[_], Json](implicit F: RaiseThrowable[F], builder: Builder[Json]): (F, Token) => Json

Transforms a stream of Json tokens into a stream of json values.

Transforms a stream of Json tokens into a stream of json values.

Attributes

Deprecated
[Since version fs2-data 1.3.0] Use `fs2.data.json.ast.values` instead
Source
package.scala

Implicits

Implicits

Attributes

Source
package.scala