Skip to content

json-t

Type ​

meta-lisp
type-t

Description ​

JSON value type. Represents a parsed JSON value.

Definition ​

meta-lisp
(define-enum json-t
  (null-json)
  (bool-json    (value bool-t))
  (number-json  (value float-t))
  (text-json  (value text-t))
  (array-json   (elements (array-t json-t)))
  (object-json  (entries (hash-t text-t json-t))))

Generated ​

meta-lisp
(claim null-json  (-> json-t))
(claim is-null-json (-> json-t bool-t))

(claim bool-json          (-> bool-t json-t))
(claim is-bool-json         (-> json-t bool-t))
(claim bool-json-value    (-> json-t bool-t))
(claim bool-json-put-value (-> json-t bool-t void-t))

(claim number-json          (-> float-t json-t))
(claim is-number-json         (-> json-t bool-t))
(claim number-json-value    (-> json-t float-t))
(claim number-json-put-value (-> json-t float-t void-t))

(claim text-json          (-> text-t json-t))
(claim is-text-json         (-> json-t bool-t))
(claim text-json-value    (-> json-t text-t))
(claim text-json-put-value (-> json-t text-t void-t))

(claim array-json              (-> (array-t json-t) json-t))
(claim is-array-json             (-> json-t bool-t))
(claim array-json-elements     (-> json-t (array-t json-t)))
(claim array-json-put-elements (-> json-t (array-t json-t) void-t))

(claim object-json              (-> (hash-t text-t json-t) json-t))
(claim is-object-json             (-> json-t bool-t))
(claim object-json-entries      (-> json-t (hash-t text-t json-t)))
(claim object-json-put-entries (-> json-t (hash-t text-t json-t) void-t))

Examples ​

meta-lisp
(null-json)
(bool-json true)
(number-json 42.0)
(text-json "hello")
(array-json (@array (number-json 1.0) (number-json 2.0)))
(object-json (@hash "x" (number-json 1.0)))