(in-package #:json) (defmacro obj (&rest fields) (let ((o (gensym)) (f (gensym))) `(let ((,o (make-hash-table :test #'equal :size ,(length fields)))) (dolist (,f ',fields) (setf (gethash (car ,f) ,o) (cadr ,f))) ,o)))