Function: json-read-array

json-read-array is a byte-compiled function defined in json.el.gz.

Signature

(json-read-array)

Documentation

Read the JSON array at point.

Source Code

;; Defined in /usr/src/emacs/lisp/json.el.gz
;;;; Arrays

;; Array parsing

(defun json-read-array ()
  "Read the JSON array at point."
  ;; Skip over the '['.
  (json-advance)
  (json-skip-whitespace)
  ;; Read values until ']'.
  (let (elements
        (len 0))
    (while (/= (json-peek) ?\])
      (json-skip-whitespace)
      (when json-pre-element-read-function
        (funcall json-pre-element-read-function len)
        (setq len (1+ len)))
      (push (json-read) elements)
      (when json-post-element-read-function
        (funcall json-post-element-read-function))
      (json-skip-whitespace)
      (when (/= (json-peek) ?\])
        (if (= (json-peek) ?,)
            (json-advance)
          (signal 'json-array-format (list "," (json-peek))))))
    ;; Skip over the ']'.
    (json-advance)
    (pcase json-array-type
      ('vector (nreverse (vconcat elements)))
      ('list (nreverse elements)))))