diff options
author | Juan Manuel Tomás <jtomas1815@gmail.com> | 2023-02-03 14:39:39 -0300 |
---|---|---|
committer | Juan Manuel Tomás <jtomas1815@gmail.com> | 2023-02-03 14:39:39 -0300 |
commit | fdeb8e5de32f21a4a016b99165d248a7d8c3abde (patch) | |
tree | a98a034636d7188dfd0b8c3acde2ff69dfdc5af9 /dump.lisp | |
parent | e858144ddf1e50b3a390d33961945a9063d746f0 (diff) | |
download | json-fdeb8e5de32f21a4a016b99165d248a7d8c3abde.tar.gz json-fdeb8e5de32f21a4a016b99165d248a7d8c3abde.zip |
Change api and add object generation
Diffstat (limited to 'dump.lisp')
-rw-r--r-- | dump.lisp | 31 |
1 files changed, 0 insertions, 31 deletions
diff --git a/dump.lisp b/dump.lisp deleted file mode 100644 index d4f3fff..0000000 --- a/dump.lisp +++ /dev/null @@ -1,31 +0,0 @@ -(in-package #:json) - -(defun to-string (value) - (defun indent (str level) - (concatenate 'string (make-string (* 4 level) :initial-element #\Space) str)) - (defun to-string-rec (value level) - (cond ((stringp value) - (format nil "\"~a\"" value)) - ((symbolp value) - (string-downcase (symbol-name value))) - ((arrayp value) - (format nil - "[~&~{~a~^,~&~}]" - (map 'list (lambda (x) (indent (to-string-rec x (1+ level)) level)) - value))) - ((hash-table-p value) - (let (items) - (maphash (lambda (k v) - (push (indent (format nil "\"~a\": ~a" k (to-string-rec v (1+ level))) level) - items)) - value) - (format nil "{~&~{~a~^,~&~}}" items))) - (t value))) - (to-string-rec value 0)) - -(defun to-file (value filename) - (with-open-file (s filename - :direction :output - :if-exists :supersede - :if-does-not-exist :create) - (princ (to-string value) s) t)) |