(import (chibi json) (srfi 1) (srfi 2)) (begin ;; json->string already defined in chibi json ;; string->json already defined in chibi json (define (json-object . pairs) (map (lambda (pair) (cons (string->symbol (car pair)) (cdr pair))) pairs)) (define json-list vector) (define json-null (if #f #f)) (define json-object? list?) (define json-list? vector?) (define (json-null? obj) (eq? obj json-null)) (define (json-object-ref json key) (and-let* ((pair (assoc (string->symbol key) json))) (cdr pair))) (define json-list-ref vector-ref) (define (json-object->alist json) (map (lambda (pair) (cons (symbol->string (car pair)) (cdr pair))) json)) (define json-list->list vector->list))