GNU Artanis integrates the third-party module guile-json to parse json. You can use the #:mime method to handle JSON:
(get "/json" #:mime 'json
(lambda (rc)
(let ((j (scm->json-string '(("name" . "nala") ("age" . 15)))))
(:mime rc j))))
For example:
(define my-json
'((name . nala) (age . 15)
(read_list
("book1" "The interpreter and structure of Artanis")
("book2" "The art of Artanis programming"))))
(scm->json-string my-json) ; scm->json will print a json string
;; ==> {"name" : "nala",
;; "age" : 15,
;; "read_list" : {"book2" : "The art of Artanis programming",
;; "book1" : "The interpreter and structure of Artanis"}}
scm->json will return a hash-table to represent a JSON object.
If you need to format JSON as a string to return to the client, please use scm->json-string.