(define json "{\"foo\":123} {\"bar\":999}") (call-with-input-string json (lambda (in) (let loop ((in in) (result '())) (receive (object remainder) (read-json in consume-trailing-whitespace: #f chunk-size: (* 5 1024)) (if object (loop remainder (cons object result)) result)))))