{"size": 761, "ext": "scrbl", "max_stars_repo_path": "doc/ported/json.scrbl", "max_stars_repo_name": "david135/sagittarius-scheme", "max_stars_repo_stars_event_min_datetime": null, "max_stars_repo_stars_event_max_datetime": null, "max_issues_repo_path": "doc/ported/json.scrbl", "max_issues_repo_name": "david135/sagittarius-scheme", "max_issues_repo_issues_event_min_datetime": null, "max_issues_repo_issues_event_max_datetime": null, "max_forks_repo_path": "doc/ported/json.scrbl", "max_forks_repo_name": "david135/sagittarius-scheme", "max_forks_repo_forks_event_min_datetime": null, "max_forks_repo_forks_event_max_datetime": null}
{"max_stars_count": null, "max_issues_count": null, "max_forks_count": null, "avg_line_length": 27.1785714286, "max_line_length": 80, "alphanum_fraction": 0.7161629435}
@; -*- mode:scribble; coding: utf-8 -*-

@subsection[:tag "ported.json"]{(json) -- JSON parser library}

@define[Library]{@name{(json)}}
@desc{This library is ported from Chicken Scheme json module and provides
JSON reader and writer.}

@define[Function]{@name{json-read} @args{:optional (port (current-input-port))}}
@desc{Reads JSON from given @var{port} and returns representing S-expression.

Conversion rules:
@codeblock{
JSON array   <-> list
JSON table   <-> vector
JSON boolean <-> boolean
JSON null    <-> symbol @code{null}
}

The procedure does not support @code{u} escape.
}

@define[Function]{@name{json-write}
 @args{json :optional (port (current-output-port))}}
@desc{Writes the given S-expression JSON representing object to given
@var{port}.
}
