The cl-json-pointer Reference Manual

Next: , Previous: , Up: (dir)   [Contents][Index]

The cl-json-pointer Reference Manual

This is the cl-json-pointer Reference Manual, generated automatically by Declt version 4.0 beta 2 "William Riker" on Wed Jun 15 03:47:46 2022 GMT+0.

Table of Contents


1 Introduction

Abstract

A JSON Pointer ( RFC6901 ) implementation for Common Lisp.

This libary aims to be independent from any JSON libraries (as much as possible).

License

The MIT License. See LICENSE file.

Loading

Load by quicklisp

Quicklisp

(ql:quickload "cl-json-pointer")

or, Load manually

Libraries depending on

This library itself does not depend on any JSON libraries. You can work with your favorite one.

Current supported json libs are:

Loading

(asdf:load-asd "cl-json-pointer.asd")
(asdf:load-system :cl-json-pointer)

Running tests.

The test code depends additinal libraries:

For running tests, do below additionally.

(asdf:load-asd "cl-json-pointer-test.asd")
(asdf:test-system :cl-json-pointer)

Examples

get opetations (with st-json)

(in-package :cl-user)
(use-package :cl-json-pointer)

(defparameter *rfc6901-example*
  "{
   \"foo\": [\"bar\", \"baz\"],
   \"\": 0,
   \"a/b\": 1,
   \"c%d\": 2,
   \"e^f\": 3,
   \"g|h\": 4,
   \"i\\\\j\": 5,
   \"k\\\"l\": 6,
   \" \": 7,
   \"m~n\": 8
   }")

(let ((obj (st-json:read-json-from-string *rfc6901-example*))
	  (cl-json-pointer:*json-object-flavor* :st-json))
  (eql obj (get-by-json-pointer obj "")) ; => T
  (get-by-json-pointer obj "/foo")	 ; => ("bar" "baz")
  (get-by-json-pointer obj "/foo/0")	 ; => "bar"
  (get-by-json-pointer obj "/")		 ; => 0
  (get-by-json-pointer obj "/a~1b")	 ; => 1
  (get-by-json-pointer obj "/c%d")	 ; => 2
  (get-by-json-pointer obj "/e^f")	 ; => 3
  (get-by-json-pointer obj "/g|h")	 ; => 4
  (get-by-json-pointer obj "/i\\j")	 ; => 5
  (get-by-json-pointer obj "/k\"l")	 ; => 6
  (get-by-json-pointer obj "/ ")	 ; => 7
  (get-by-json-pointer obj "/m~0n")	 ; => 8
  )

set operations (with cl-json)

setting to an object


;;; Uses *rfc6901-example* above.

(defparameter *obj*
  (cl-json:decode-json-from-string *rfc6901-example*))
  
(get-by-json-pointer *obj* "/hoge" :flavor :cl-json) ; => nil
(exists-p-by-json-pointer *obj* "/hoge" :flavor :cl-json) ; => nil


;; Sets into "hoge" field.

(setf *obj*
	(set-by-json-pointer *obj* "/hoge" "something" :flavor :cl-json))

(get-by-json-pointer *obj* "/hoge" :flavor :cl-json) ; => "something"
(exists-p-by-json-pointer *obj* "/hoge" :flavor :cl-json) ; => T


;; `update-by-json-pointer' is a modify macro of `set-by-json-pointer`.

(update-by-json-pointer *obj* "/hoge" "something-2" :flavor :cl-json)

(get-by-json-pointer *obj* "/hoge" :flavor :cl-json) ; => "something-2"
(exists-p-by-json-pointer *obj* "/hoge" :flavor :cl-json) ; => T


;; setf to `(get-by-json-pointer ...)' can also be used.

(setf (get-by-json-pointer *obj* "/hoge" :flavor :cl-json) "fuga")

(get-by-json-pointer *obj* "/hoge" :flavor :cl-json) ; => "fuga"

setting to an array


;; setting to array with index

(defparameter *obj*
  (cl-json:decode-json-from-string *rfc6901-example*))
  
(setf *json-object-flavor* :cl-json)  ; defaults :flavor to :cl-json

(get-by-json-pointer *obj* "/foo")	 ; => ("bar" "baz")

(update-by-json-pointer *obj* "/foo/0" "zero")
(update-by-json-pointer *obj* "/foo/1" "one")

(get-by-json-pointer *obj* "/foo")	 ; => ("zero" "one")


;; adding to an array tail with index

(exists-p-by-json-pointer *obj* "/foo/2") ; => NIL

(update-by-json-pointer *obj* "/foo/3" "three")

(get-by-json-pointer *obj* "/foo/3") ; => "three"
(exists-p-by-json-pointer *obj* "/foo/3") ; => T

(get-by-json-pointer *obj* "/foo/2") ; => NIL
(exists-p-by-json-pointer *obj* "/foo/2") ; => T


;; pushing to array tail with '-'

(exists-p-by-json-pointer *obj* "/foo/4") ; => NIL

(update-by-json-pointer *obj* "/foo/-" "four")

(get-by-json-pointer *obj* "/foo")	 ; => ("zero" "one" NIL "three" "four")
(exists-p-by-json-pointer *obj* "/foo/4") ; => T

delete operations

deleting from an object (with jsown)


;;; Uses *rfc6901-example* above.

(defparameter *obj*
  (jsown:parse *rfc6901-example*))

(setf cl-json-pointer:*json-object-flavor* :jsown)


(get-by-json-pointer *obj* "/m~0n") ; => 8

(setf *obj*
	(delete-by-json-pointer *obj* "/m~0n"))

(get-by-json-pointer *obj* "/m~0n") ; => NIL
(exists-p-by-json-pointer *obj* "/m~0n") ; => NIL


;; `deletef-by-json-pointer' is a modify macro of `delete-by-json-pointer`.

(get-by-json-pointer *obj* "/ ") ; => 7

(deletef-by-json-pointer *obj* "/ ")

(get-by-json-pointer *obj* "/ ") ; => NIL
(exists-p-by-json-pointer *obj* "/ ") ; => NIL

Deleting from an array (with yason)


;;; Uses "cl-json-pointer/synonyms" system.
;;; This provides 'cljsp' package contains shorter symbols.

(asdf:load-system :cl-json-pointer/synonyms)


(defparameter *obj*
  (yason:parse *rfc6901-example*))

(setf cl-json-pointer:*json-object-flavor* :yason)


(cljsp:get *obj* "/foo")	 ; => ("bar" "baz")

(cljsp:deletef *obj* "/foo/0")
(cljsp:get *obj* "/foo")	 ; => ("baz")

API

These symbols are exported from the cl-json-pointer package. Please see their docstring.

symbols of cl-json-pointer/synonyms

Another "cl-json-pointer/synonyms" system provides "cljsp" package. This package contains some shorter symbols.

For using this, please evaluate:

(asdf:load-system :cl-json-pointer/synonyms)

After that, 'cljsp' package will be defined. It exports these symbols:

TODO


2 Systems

The main system appears first, followed by any subsystem dependency.


Next: , Previous: , Up: Systems   [Contents][Index]

2.1 cl-json-pointer

A JSON Pointer (RFC6901) implementation for Common Lisp.

Author

YOKOTA Yuki <y2q.actionman@gmail.com>

License

MIT

Dependencies
Source

cl-json-pointer.asd.


2.2 cl-json-pointer/core

cl-json-pointer core files.

Author

YOKOTA Yuki <y2q.actionman@gmail.com>

License

MIT

Dependencies
  • alexandria (system).
  • closer-mop (system).
Source

cl-json-pointer.asd.

Child Component

src (module).


2.3 cl-json-pointer/st-json-support

cl-json-pointer st-json support.

Author

YOKOTA Yuki <y2q.actionman@gmail.com>

License

MIT

Dependency

cl-json-pointer/core (system).

Source

cl-json-pointer.asd.

Child Component

src (module).


3 Modules

Modules are listed depth-first from the system components tree.


3.1 cl-json-pointer/core/src

Source

cl-json-pointer.asd.

Parent Component

cl-json-pointer/core (system).

Child Components

3.2 cl-json-pointer/st-json-support/src

Source

cl-json-pointer.asd.

Parent Component

cl-json-pointer/st-json-support (system).

Child Component

support_st-json.lisp (file).


4 Files

Files are sorted by type and then listed depth-first from the systems components trees.


Previous: , Up: Files   [Contents][Index]

4.1 Lisp


4.1.1 cl-json-pointer/cl-json-pointer.asd

Source

cl-json-pointer.asd.

Parent Component

cl-json-pointer (system).

ASDF Systems

4.1.2 cl-json-pointer/core/src/package.lisp

Source

cl-json-pointer.asd.

Parent Component

src (module).

Packages

cl-json-pointer.


4.1.3 cl-json-pointer/core/src/util.lisp

Dependency

package.lisp (file).

Source

cl-json-pointer.asd.

Parent Component

src (module).

Internals

4.1.4 cl-json-pointer/core/src/condition.lisp

Dependency

util.lisp (file).

Source

cl-json-pointer.asd.

Parent Component

src (module).

Public Interface

json-pointer-error (condition).

Internals

4.1.5 cl-json-pointer/core/src/parser.lisp

Dependency

condition.lisp (file).

Source

cl-json-pointer.asd.

Parent Component

src (module).

Public Interface

parse-json-pointer (generic function).

Internals

4.1.6 cl-json-pointer/core/src/traversal.lisp

Dependency

parser.lisp (file).

Source

cl-json-pointer.asd.

Parent Component

src (module).

Internals

4.1.7 cl-json-pointer/core/src/interface.lisp

Dependency

traversal.lisp (file).

Source

cl-json-pointer.asd.

Parent Component

src (module).

Public Interface
Internals

make-setter-by-json-pointer (function).


4.1.8 cl-json-pointer/core/src/support_library.lisp

Dependency

interface.lisp (file).

Source

cl-json-pointer.asd.

Parent Component

src (module).

Public Interface

*cl-json-pointer-supported-json-flavors* (special variable).

Internals

4.1.9 cl-json-pointer/core/src/support_cl-json.lisp

Dependency

support_library.lisp (file).

Source

cl-json-pointer.asd.

Parent Component

src (module).

Internals

4.1.10 cl-json-pointer/st-json-support/src/support_st-json.lisp

Source

cl-json-pointer.asd.

Parent Component

src (module).


5 Packages

Packages are listed by definition order.


Previous: , Up: Packages   [Contents][Index]

5.1 cl-json-pointer

Source

package.lisp.

Use List
  • alexandria.
  • common-lisp.
Public Interface
Internals

6 Definitions

Definitions are sorted by export status, category, package, and then by lexicographic order.


Next: , Previous: , Up: Definitions   [Contents][Index]

6.1 Public Interface


Next: , Previous: , Up: Public Interface   [Contents][Index]

6.1.1 Special variables

Special Variable: *cl-json-pointer-supported-json-flavors*

Holds symbols acceptable by ‘*json-object-flavor*’ and :FLAVOR keyword argument (except ‘T’)

Package

cl-json-pointer.

Source

support_library.lisp.

Special Variable: *json-object-flavor*

Default flavor of JSON library currently used.
This value is used for :FLAVOR argument of exported functions.
Currently acceptable values are held by ‘*cl-json-pointer-supported-json-flavors*’

Default is ‘t’, behaves as well as possible without any knowledge about JSON libs.

Package

cl-json-pointer.

Source

interface.lisp.


6.1.2 Macros

Macro: deletef-by-json-pointer (place pointer &rest keyargs)

Modify macro of ‘delete-by-json-pointer’. This sets results of ‘delete-by-json-pointer’ to the referred place.

Package

cl-json-pointer.

Source

interface.lisp.

Macro: update-by-json-pointer (place pointer value &rest keyargs)

Modify macro of ‘set-by-json-pointer’. This sets results of ‘set-by-json-pointer’ to the referred place.

Package

cl-json-pointer.

Source

interface.lisp.


6.1.3 Setf expanders

Setf Expander: (setf get-by-json-pointer) (obj pointer &key flavor)

A setf expansion for allowing ‘setf’ to ‘(get-by-json-pointer ...)’ forms.

Package

cl-json-pointer.

Source

interface.lisp.

Reader

get-by-json-pointer (function).


6.1.4 Ordinary functions

Function: add-by-json-pointer (obj pointer value &key flavor)

Works same as ‘set-by-json-pointer’, except this try to make a new list when setting to lists.

Package

cl-json-pointer.

Source

interface.lisp.

Function: delete-by-json-pointer (obj pointer &key flavor)

Traverses OBJ with POINTER, deletes the pointed place, and returns the modified OBJ

Package

cl-json-pointer.

Source

interface.lisp.

Function: exists-p-by-json-pointer (obj pointer &key flavor)

Traverses OBJ with POINTER and returns the existence of the place pointed by POINTER.

Package

cl-json-pointer.

Source

interface.lisp.

Function: get-by-json-pointer (obj pointer &key flavor)

Traverses OBJ with POINTER and returns three values:
the found value (‘nil’ if not found), a generalized boolean saying the existence of the place pointed by POINTER, and NIL.

Package

cl-json-pointer.

Source

interface.lisp.

Setf expander for this function

(setf get-by-json-pointer).

Function: remove-by-json-pointer (obj pointer &key flavor)

Works same as ‘delete-by-json-pointer’, except this try to make a new list when deleting from lists.

Package

cl-json-pointer.

Source

interface.lisp.

Function: set-by-json-pointer (obj pointer value &key flavor)

Traverses OBJ with POINTER, sets VALUE into the pointed place, and returns the modified OBJ

Package

cl-json-pointer.

Source

interface.lisp.


6.1.5 Generic functions

Generic Function: parse-json-pointer (obj &key start end accept-uri-fragment &allow-other-keys)

Parses OBJ to an internal representation

Package

cl-json-pointer.

Source

parser.lisp.

Methods
Method: parse-json-pointer ((pointer string) &key start end accept-uri-fragment &allow-other-keys)
Method: parse-json-pointer ((stream stream) &key accept-uri-fragment &allow-other-keys)
Method: parse-json-pointer ((pointer list) &key &allow-other-keys)
Method: parse-json-pointer (pointer &key &allow-other-keys)

6.1.6 Conditions

Condition: json-pointer-error

The root object of all errors related to cl-json-pointer

Package

cl-json-pointer.

Source

condition.lisp.

Direct superclasses

simple-error.

Direct subclasses

6.2 Internals


Next: , Previous: , Up: Internals   [Contents][Index]

6.2.1 Constants

Constant: +end+

A symbol indicates ’the (nonexistent) member after the last array element’, denoted by ’-’

Package

cl-json-pointer.

Source

parser.lisp.

Constant: +identifier-name-to-key-name+
Package

cl-json-pointer.

Source

support_cl-json.lisp.

Constant: +json-identifier-name-to-lisp-name+
Package

cl-json-pointer.

Source

support_cl-json.lisp.

Constant: +parse-json-pointer-default-buffer-length+
Package

cl-json-pointer.

Source

parser.lisp.


Next: , Previous: , Up: Internals   [Contents][Index]

6.2.2 Special variables

Special Variable: *traverse-nil-set-to-index-method*

Determines how to set to NIL by an index.
- ‘:list’ :: (Default) makes a new list and set <value> into nth point. - ‘:alist’ :: pushes (reference-token . <value>) as an alist.
- ‘:plist’ :: appends (reference-token <value>) as an plist.
- ‘:error’ :: throws an error.

Package

cl-json-pointer.

Source

traversal.lisp.

Special Variable: *traverse-nil-set-to-last-method*

Determines how to set to the last (by ’-’) of NIL.
- ‘:list’ :: (Default) pushes <value> as an ordinal list. - ‘:alist’ :: pushes (reference-token . <value>) as an alist. - ‘:plist’ :: appends (reference-token <value>) as an plist. - ‘:array’ :: makes a new array contains <value>.

Package

cl-json-pointer.

Source

traversal.lisp.

Special Variable: *traverse-nil-set-to-name-method*

Determines how to set to NIL by a name.
- ‘:alist’ :: (Default) pushes (reference-token . <value>) as an alist. - ‘:plist’ :: appends (reference-token <value>) as an plist.

Package

cl-json-pointer.

Source

traversal.lisp.

Special Variable: *traverse-object-like-kinds*
Package

cl-json-pointer.

Source

traversal.lisp.

Special Variable: *traverse-treat-string-as-atom*

If this is T, cl-json-pointer trests string as atom.

Package

cl-json-pointer.

Source

traversal.lisp.


6.2.3 Macros

Macro: chained-setter-lambda ((&rest vars) (next-function &optional next-arg) &body body)
Package

cl-json-pointer.

Source

traversal.lisp.

Macro: thunk-lambda (&body form)

Used for making thunks.

Package

cl-json-pointer.

Source

util.lisp.


Next: , Previous: , Up: Internals   [Contents][Index]

6.2.4 Ordinary functions

Function: array-try-push (array x)
Package

cl-json-pointer.

Source

util.lisp.

Function: bad-deleter-error (obj rtoken)
Package

cl-json-pointer.

Source

traversal.lisp.

Function: clone-and-replace-on-cons (list cons value)

Makes a fresh list whose contents is same as LIST except the car of
CONS is replaced with VALUE. If CONS is not contained in LIST,
returns a new list by appending LIST, (list VALUE) and the cdr of CONS to the LIST.

Package

cl-json-pointer.

Source

util.lisp.

Function: compare-string-by-readtable-case (a b &key case)
Package

cl-json-pointer.

Source

util.lisp.

Function: delete-cons (list cons &optional count)

Destructively modifies LIST to exclude the CONS and successive COUNT conses. If CONS is not contained in LIST, returns a list by ‘nconc’ing LIST and (nthcdr COUNT CONS).

Package

cl-json-pointer.

Source

util.lisp.

Function: error-on-traversing-atom (flavor obj rtoken)
Package

cl-json-pointer.

Source

traversal.lisp.

Function: extend-array (array new-length fill-pointer)

Makes a new adjustable fill-pointered array having same contents as ARRAY.

Package

cl-json-pointer.

Source

util.lisp.

Function: extend-list (list n &key initial-element)

Destructively extends LIST to size N.

Package

cl-json-pointer.

Source

util.lisp.

Function: list-try-traverse (kinds flavor list rtoken set-method next-setter)
Package

cl-json-pointer.

Source

traversal.lisp.

Function: make-setter-by-json-pointer (obj obj-flavor pointer set-method)

Updating functions (‘set-by-json-pointer’, ‘delete-by-json-pointer’, etc) calls this for making a setter function.

Package

cl-json-pointer.

Source

interface.lisp.

Function: read-reference-token-as-index (rtoken &optional errorp)
Package

cl-json-pointer.

Source

parser.lisp.

Function: remove-cons (list cons &optional count)

Makes a fresh list whose contents is same as LIST except the CONS and successive COUNT conses. If CONS is not contained in LIST, returns a new list by appending LIST and (nthcdr COUNT CONS).

Package

cl-json-pointer.

Source

util.lisp.

Function: traverse-by-json-pointer (obj flavor pointer set-method)

Traverses OBJ with a parsed json-pointer (POINTER), and returns three values:
the referred object, existence (boolean), and a closure can be used as a setter.

SET-METHOD determines how to _set_ into OBJ by the returned setter:
- ‘nil’ :: No setters made. (Do not set to OBJ.)
- ‘:update’ :: Destructively updates into OBJ.
- ‘:delete’ :: Destructively deletes from OBJ.
- ‘:add’ :: If changing a list, makes a new list containing the set’ed value. (non-list objs are still modified).
- ‘:remove’ :: If deleting form a list, makes a new list not containing the removed value. (non-list objs are still modified).

FLAVOR is a keyword specifies the JSON object flavors.
See ‘*cl-json-pointer-supported-json-flavors*’

Package

cl-json-pointer.

Source

traversal.lisp.

Function: traverse-by-reference-token-using-class (flavor obj rtoken set-method next-setter class)
Package

cl-json-pointer.

Source

traversal.lisp.


Next: , Previous: , Up: Internals   [Contents][Index]

6.2.5 Generic functions

Generic Function: intern-object-key (flavor rtoken)

Interns RTOKEN as JSON object key, with JSON lib flavor of FLAVOR

Package

cl-json-pointer.

Source

parser.lisp.

Methods
Method: intern-object-key ((flavor (eql :cl-json)) rtoken)
Source

support_cl-json.lisp.

Method: intern-object-key ((flavor (eql :jonathan)) rtoken)
Source

support_library.lisp.

Method: intern-object-key (flavor (rtoken symbol))
Method: intern-object-key (flavor (rtoken string))

Interns RTOKEN itself as JSON object key.
This is suitable for yason, st-json, jsown, json-streams, and com.gigamonkeys.json.

Generic Function: traverse-by-reference-token (flavor obj rtoken set-method next-setter)

Traverses OBJ with a reference token (RTOKEN), and
returns three values: a referred object, existence (boolean), and a closure can be used as a setter.

FLAVOR is used when OBJ’s type is ambiguous, especially lists.

Package

cl-json-pointer.

Source

traversal.lisp.

Methods
Method: traverse-by-reference-token ((flavor (eql :com.gigamonkeys.json)) (obj null) rtoken set-method next-setter)
Source

support_library.lisp.

Method: traverse-by-reference-token ((flavor (eql :com.gigamonkeys.json)) (obj list) (rtoken string) set-method next-setter)
Source

support_library.lisp.

Method: traverse-by-reference-token ((flavor (eql :json-streams)) (obj null) rtoken set-method next-setter)
Source

support_library.lisp.

Method: traverse-by-reference-token ((flavor (eql :json-streams)) (obj list) (rtoken string) set-method next-setter)
Source

support_library.lisp.

Method: traverse-by-reference-token ((flavor (eql :jonathan)) (obj null) rtoken set-method next-setter)
Source

support_library.lisp.

Method: traverse-by-reference-token ((flavor (eql :jsown)) (obj null) rtoken set-method next-setter)
Source

support_library.lisp.

Method: traverse-by-reference-token ((flavor (eql :jsown)) (obj list) (rtoken string) set-method next-setter)
Source

support_library.lisp.

Method: traverse-by-reference-token ((flavor (eql :yason)) (obj list) (rtoken string) set-method next-setter)
Source

support_library.lisp.

Method: traverse-by-reference-token (flavor (obj array) (rtoken string) set-method next-setter)
Method: traverse-by-reference-token (flavor (obj array) (rtoken integer) set-method next-setter)
Method: traverse-by-reference-token (flavor (obj array) (rtoken (eql -)) set-method next-setter)
Method: traverse-by-reference-token (flavor (obj hash-table) rtoken set-method next-setter)
Method: traverse-by-reference-token (flavor (obj structure-object) rtoken set-method next-setter)
Method: traverse-by-reference-token (flavor (obj standard-object) rtoken set-method next-setter)
Method: traverse-by-reference-token (flavor (obj null) rtoken set-method next-setter)
Method: traverse-by-reference-token (flavor (obj list) (rtoken string) set-method next-setter)
Method: traverse-by-reference-token (flavor (obj list) (rtoken integer) set-method next-setter)
Method: traverse-by-reference-token (flavor (obj list) (rtoken (eql -)) set-method next-setter)
Method: traverse-by-reference-token ((flavor (eql :list)) (list list) (rtoken string) set-method next-setter)

Indexing to an ordinal list.

Method: traverse-by-reference-token ((flavor (eql :list)) (list list) (index integer) set-method next-setter)

Indexing to an ordinal list.

Method: traverse-by-reference-token ((flavor (eql :list)) (list list) (rtoken (eql -)) set-method next-setter)

Pushing to an ordinal list.

Method: traverse-by-reference-token ((flavor (eql :plist)) (plist list) rtoken set-method next-setter)
Method: traverse-by-reference-token ((flavor (eql :alist)) (alist list) rtoken set-method next-setter)
Method: traverse-by-reference-token (flavor (obj string) rtoken set-method next-setter)
Method: traverse-by-reference-token (flavor obj rtoken set-method next-setter)

Next: , Previous: , Up: Internals   [Contents][Index]

6.2.6 Conditions

Condition: json-pointer-access-error

Errors at traversing an object

Package

cl-json-pointer.

Source

condition.lisp.

Direct superclasses

json-pointer-error.

Condition: json-pointer-bad-reference-token-0-used-error
Package

cl-json-pointer.

Source

condition.lisp.

Direct superclasses

json-pointer-bad-reference-token-error.

Direct Default Initargs
InitargValue
:format-controlreference token (~a) must not start with '0' when used as an index
Condition: json-pointer-bad-reference-token-error

Errors related to the json-pointer syntax

Package

cl-json-pointer.

Source

condition.lisp.

Direct superclasses

json-pointer-error.

Direct subclasses
Direct Default Initargs
InitargValue
:format-controlbad reference token (~a)
Direct slots
Slot: rtoken
Initform

(quote nil)

Initargs

:reference-token

Condition: json-pointer-bad-reference-token-not-numeric-error
Package

cl-json-pointer.

Source

condition.lisp.

Direct superclasses

json-pointer-bad-reference-token-error.

Direct Default Initargs
InitargValue
:format-controlreference token (~a) cannot be read as index
Condition: json-pointer-parse-error

Thrown by ‘parse-json-pointer’

Package

cl-json-pointer.

Source

condition.lisp.

Direct superclasses

json-pointer-error.


Previous: , Up: Internals   [Contents][Index]

6.2.7 Types

Type: parsed-json-pointer ()
Package

cl-json-pointer.

Source

parser.lisp.


Appendix A Indexes


Next: , Previous: , Up: Indexes   [Contents][Index]

A.1 Concepts


Next: , Previous: , Up: Indexes   [Contents][Index]

A.2 Functions

Jump to:   (  
A   B   C   D   E   F   G   I   L   M   P   R   S   T   U  
Index Entry  Section

(
(setf get-by-json-pointer): Public setf expanders

A
add-by-json-pointer: Public ordinary functions
array-try-push: Private ordinary functions

B
bad-deleter-error: Private ordinary functions

C
chained-setter-lambda: Private macros
clone-and-replace-on-cons: Private ordinary functions
compare-string-by-readtable-case: Private ordinary functions

D
delete-by-json-pointer: Public ordinary functions
delete-cons: Private ordinary functions
deletef-by-json-pointer: Public macros

E
error-on-traversing-atom: Private ordinary functions
exists-p-by-json-pointer: Public ordinary functions
extend-array: Private ordinary functions
extend-list: Private ordinary functions

F
Function, add-by-json-pointer: Public ordinary functions
Function, array-try-push: Private ordinary functions
Function, bad-deleter-error: Private ordinary functions
Function, clone-and-replace-on-cons: Private ordinary functions
Function, compare-string-by-readtable-case: Private ordinary functions
Function, delete-by-json-pointer: Public ordinary functions
Function, delete-cons: Private ordinary functions
Function, error-on-traversing-atom: Private ordinary functions
Function, exists-p-by-json-pointer: Public ordinary functions
Function, extend-array: Private ordinary functions
Function, extend-list: Private ordinary functions
Function, get-by-json-pointer: Public ordinary functions
Function, list-try-traverse: Private ordinary functions
Function, make-setter-by-json-pointer: Private ordinary functions
Function, read-reference-token-as-index: Private ordinary functions
Function, remove-by-json-pointer: Public ordinary functions
Function, remove-cons: Private ordinary functions
Function, set-by-json-pointer: Public ordinary functions
Function, traverse-by-json-pointer: Private ordinary functions
Function, traverse-by-reference-token-using-class: Private ordinary functions

G
Generic Function, intern-object-key: Private generic functions
Generic Function, parse-json-pointer: Public generic functions
Generic Function, traverse-by-reference-token: Private generic functions
get-by-json-pointer: Public ordinary functions

I
intern-object-key: Private generic functions
intern-object-key: Private generic functions
intern-object-key: Private generic functions
intern-object-key: Private generic functions
intern-object-key: Private generic functions

L
list-try-traverse: Private ordinary functions

M
Macro, chained-setter-lambda: Private macros
Macro, deletef-by-json-pointer: Public macros
Macro, thunk-lambda: Private macros
Macro, update-by-json-pointer: Public macros
make-setter-by-json-pointer: Private ordinary functions
Method, intern-object-key: Private generic functions
Method, intern-object-key: Private generic functions
Method, intern-object-key: Private generic functions
Method, intern-object-key: Private generic functions
Method, parse-json-pointer: Public generic functions
Method, parse-json-pointer: Public generic functions
Method, parse-json-pointer: Public generic functions
Method, parse-json-pointer: Public generic functions
Method, traverse-by-reference-token: Private generic functions
Method, traverse-by-reference-token: Private generic functions
Method, traverse-by-reference-token: Private generic functions
Method, traverse-by-reference-token: Private generic functions
Method, traverse-by-reference-token: Private generic functions
Method, traverse-by-reference-token: Private generic functions
Method, traverse-by-reference-token: Private generic functions
Method, traverse-by-reference-token: Private generic functions
Method, traverse-by-reference-token: Private generic functions
Method, traverse-by-reference-token: Private generic functions
Method, traverse-by-reference-token: Private generic functions
Method, traverse-by-reference-token: Private generic functions
Method, traverse-by-reference-token: Private generic functions
Method, traverse-by-reference-token: Private generic functions
Method, traverse-by-reference-token: Private generic functions
Method, traverse-by-reference-token: Private generic functions
Method, traverse-by-reference-token: Private generic functions
Method, traverse-by-reference-token: Private generic functions
Method, traverse-by-reference-token: Private generic functions
Method, traverse-by-reference-token: Private generic functions
Method, traverse-by-reference-token: Private generic functions
Method, traverse-by-reference-token: Private generic functions
Method, traverse-by-reference-token: Private generic functions
Method, traverse-by-reference-token: Private generic functions
Method, traverse-by-reference-token: Private generic functions

P
parse-json-pointer: Public generic functions
parse-json-pointer: Public generic functions
parse-json-pointer: Public generic functions
parse-json-pointer: Public generic functions
parse-json-pointer: Public generic functions

R
read-reference-token-as-index: Private ordinary functions
remove-by-json-pointer: Public ordinary functions
remove-cons: Private ordinary functions

S
set-by-json-pointer: Public ordinary functions
Setf Expander, (setf get-by-json-pointer): Public setf expanders

T
thunk-lambda: Private macros
traverse-by-json-pointer: Private ordinary functions
traverse-by-reference-token: Private generic functions
traverse-by-reference-token: Private generic functions
traverse-by-reference-token: Private generic functions
traverse-by-reference-token: Private generic functions
traverse-by-reference-token: Private generic functions
traverse-by-reference-token: Private generic functions
traverse-by-reference-token: Private generic functions
traverse-by-reference-token: Private generic functions
traverse-by-reference-token: Private generic functions
traverse-by-reference-token: Private generic functions
traverse-by-reference-token: Private generic functions
traverse-by-reference-token: Private generic functions
traverse-by-reference-token: Private generic functions
traverse-by-reference-token: Private generic functions
traverse-by-reference-token: Private generic functions
traverse-by-reference-token: Private generic functions
traverse-by-reference-token: Private generic functions
traverse-by-reference-token: Private generic functions
traverse-by-reference-token: Private generic functions
traverse-by-reference-token: Private generic functions
traverse-by-reference-token: Private generic functions
traverse-by-reference-token: Private generic functions
traverse-by-reference-token: Private generic functions
traverse-by-reference-token: Private generic functions
traverse-by-reference-token: Private generic functions
traverse-by-reference-token: Private generic functions
traverse-by-reference-token-using-class: Private ordinary functions

U
update-by-json-pointer: Public macros

Jump to:   (  
A   B   C   D   E   F   G   I   L   M   P   R   S   T   U  

Next: , Previous: , Up: Indexes   [Contents][Index]

A.3 Variables

Jump to:   *   +  
C   R   S  
Index Entry  Section

*
*cl-json-pointer-supported-json-flavors*: Public special variables
*json-object-flavor*: Public special variables
*traverse-nil-set-to-index-method*: Private special variables
*traverse-nil-set-to-last-method*: Private special variables
*traverse-nil-set-to-name-method*: Private special variables
*traverse-object-like-kinds*: Private special variables
*traverse-treat-string-as-atom*: Private special variables

+
+end+: Private constants
+identifier-name-to-key-name+: Private constants
+json-identifier-name-to-lisp-name+: Private constants
+parse-json-pointer-default-buffer-length+: Private constants

C
Constant, +end+: Private constants
Constant, +identifier-name-to-key-name+: Private constants
Constant, +json-identifier-name-to-lisp-name+: Private constants
Constant, +parse-json-pointer-default-buffer-length+: Private constants

R
rtoken: Private conditions

S
Slot, rtoken: Private conditions
Special Variable, *cl-json-pointer-supported-json-flavors*: Public special variables
Special Variable, *json-object-flavor*: Public special variables
Special Variable, *traverse-nil-set-to-index-method*: Private special variables
Special Variable, *traverse-nil-set-to-last-method*: Private special variables
Special Variable, *traverse-nil-set-to-name-method*: Private special variables
Special Variable, *traverse-object-like-kinds*: Private special variables
Special Variable, *traverse-treat-string-as-atom*: Private special variables

Jump to:   *   +  
C   R   S  

Previous: , Up: Indexes   [Contents][Index]

A.4 Data types

Jump to:   C   F   I   J   M   P   S   T   U  
Index Entry  Section

C
cl-json-pointer: The cl-json-pointer system
cl-json-pointer: The cl-json-pointer package
cl-json-pointer.asd: The cl-json-pointer/cl-json-pointer․asd file
cl-json-pointer/core: The cl-json-pointer/core system
cl-json-pointer/st-json-support: The cl-json-pointer/st-json-support system
Condition, json-pointer-access-error: Private conditions
Condition, json-pointer-bad-reference-token-0-used-error: Private conditions
Condition, json-pointer-bad-reference-token-error: Private conditions
Condition, json-pointer-bad-reference-token-not-numeric-error: Private conditions
Condition, json-pointer-error: Public conditions
Condition, json-pointer-parse-error: Private conditions
condition.lisp: The cl-json-pointer/core/src/condition․lisp file

F
File, cl-json-pointer.asd: The cl-json-pointer/cl-json-pointer․asd file
File, condition.lisp: The cl-json-pointer/core/src/condition․lisp file
File, interface.lisp: The cl-json-pointer/core/src/interface․lisp file
File, package.lisp: The cl-json-pointer/core/src/package․lisp file
File, parser.lisp: The cl-json-pointer/core/src/parser․lisp file
File, support_cl-json.lisp: The cl-json-pointer/core/src/support_cl-json․lisp file
File, support_library.lisp: The cl-json-pointer/core/src/support_library․lisp file
File, support_st-json.lisp: The cl-json-pointer/st-json-support/src/support_st-json․lisp file
File, traversal.lisp: The cl-json-pointer/core/src/traversal․lisp file
File, util.lisp: The cl-json-pointer/core/src/util․lisp file

I
interface.lisp: The cl-json-pointer/core/src/interface․lisp file

J
json-pointer-access-error: Private conditions
json-pointer-bad-reference-token-0-used-error: Private conditions
json-pointer-bad-reference-token-error: Private conditions
json-pointer-bad-reference-token-not-numeric-error: Private conditions
json-pointer-error: Public conditions
json-pointer-parse-error: Private conditions

M
Module, src: The cl-json-pointer/core/src module
Module, src: The cl-json-pointer/st-json-support/src module

P
Package, cl-json-pointer: The cl-json-pointer package
package.lisp: The cl-json-pointer/core/src/package․lisp file
parsed-json-pointer: Private types
parser.lisp: The cl-json-pointer/core/src/parser․lisp file

S
src: The cl-json-pointer/core/src module
src: The cl-json-pointer/st-json-support/src module
support_cl-json.lisp: The cl-json-pointer/core/src/support_cl-json․lisp file
support_library.lisp: The cl-json-pointer/core/src/support_library․lisp file
support_st-json.lisp: The cl-json-pointer/st-json-support/src/support_st-json․lisp file
System, cl-json-pointer: The cl-json-pointer system
System, cl-json-pointer/core: The cl-json-pointer/core system
System, cl-json-pointer/st-json-support: The cl-json-pointer/st-json-support system

T
traversal.lisp: The cl-json-pointer/core/src/traversal․lisp file
Type, parsed-json-pointer: Private types

U
util.lisp: The cl-json-pointer/core/src/util․lisp file

Jump to:   C   F   I   J   M   P   S   T   U