object JsonPointer extends Serializable
Constructs JSON Pointer objects.
There are three ways to construct a JSON Pointer object. The first is to
create an empty JsonPointer and use the append
methods to add path
components to the pointer.
Example:
JsonPointer() / "items" / 0 / "name"
The second method is to pass individual path components to the JsonPointer constructor.
Example:
JsonPointer("items", "0", "name")
Notice the constructor only takes string components so any array index values must be provided as a string.
The third method is to provide the path as a string and have it parsed
into a JsonPointer. The string must be in the escaped form, that is
~ => ~0
and / => ~1
.
Example:
JsonPointer.fromString("/items/0/name")
- Source
- JsonPointer.scala
- Alphabetic
- By Inheritance
- JsonPointer
- Serializable
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##(): Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def apply(tokens: String*): JsonPointer
Returns a JSON pointer with the supplied path components.
Returns a JSON pointer with the supplied path components.
An argument list of strings where each string represents a single element in a path can be provided. Each string should not contain any escapes as the string maps directly into a path component. If an array index is required then it should be provided as a string rather than numeric format.
- tokens
path components to set for JSON Pointer
- returns
JSON Pointer with the path components set
- def apply(): JsonPointer
Returns an empty JSON pointer.
Returns an empty JSON pointer.
An empty JSON Pointer represents the root of a JSON document. The
append
methods may be used to add path components.- returns
empty JSON Pointer
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- def fromString(value: String): Either[Error, JsonPointer]
Parses a JSON Pointer path into a JsonPointer
Parses a JSON Pointer path into a JsonPointer
The supplied string containing a textual representation of a JSON Pointer is parsed resulting in a JsonPointer. The string must conform to RFC 6901, section 5 for it to be parsed successfully. Both the tilde (~) and slash (/) characters need to be escaped with ~0 and ~1 respectively. If the string is not valid an error is returned.
- value
string containing JSON Pointer to be parsed
- returns
JSON Pointer with the path components set
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
Documentation for the Axiell Schema Project
Overview
The Axiell Schema Project provides a small library for validating JSON documents against a JSON Schema. The library conforms to the JSON Schema Draft #7 specification.
The library is based on a few simple principles, namely:
Package structure
The
packages consists of a number of utilities, where each utility provides a single piece of functionality. Since the library validates JSON structures two main components are provided. The first component (com.axiell.schema
) allows JSON documents conforming to the JSON Schema specification to be read. Once read a resolution process may be required to resolve any external references defined in the document.com.axiell.schema.Schema
The second component (
) takes a resolved schema and allows JSON documents to be validated against that schema. When creating a validator it is also possible to incorporate your own "format" types for validation.com.axiell.schema.SchemaValidator
A set of auxiliary components implement parsers for many of the "format" types and can be used independently of the validator itself.
Notable utilities are:
Schema
wrapper around a JSON document containing the document itself, its$id
value and resolution mappings for all$id
and$ref
directives.SchemaValidator
takes aSchema
and an optional handler for "format" types and provides a validation method for arbitrary JSON documents.Implicits
implements implicit methods and classes used to convert one class to another or pimp methods onto existing classes (e.g.same()
method toJValue
class).EmailAddress
Hostname
Ipv4Address
Ipv6Address
JsonPointer
RelativeJsonPointer
Dependencies
The list of dependencies are:
Axiell Util Library
provides error handling classes and methods that allow multilingual error messages to be generated.JSON for Scala Library
provides mthods for dealing with JSON structures. The routines work around an AST (Abstract Syntax Tree) used to represent a JSON document.Cats Functional Programming Library
provides various traits, classes and methods that simplify functional programming in Scala. Also provides theValidated
class used to return lists of validation errors.