Basic supports parsing and writing JSON data that conforms to the Json.Basic.json json type. This includes support for integers which are not part of the JSON standard
The maximum/minimum size of an integer is architecture specific, typically 30 or 62 bits depending on the platform. In cases where the integer overflows the value is converted to a `Float. For integers in the range (+/-)2^53 there is no loss of precision
Reader_string_file supports functions to parse JSON data from various sources. The interface includes two type of parser
Single value parsers that return a single Json tree
json Stream.t functions that process a stream of JSON data, possibly seperated by whitespace. eg. {"a": 1} {"b":2} would result in 2 Json values being returned by the stream
json_of_file file converts the text from file to a json value returing an error if the file contents have syntax, grammar or compliance errors. The file is closed on error
json_of_file file converts the text from file to a json value raising a Failure exception if the file contents have syntax, grammar or compliance errors. The file is closed on error
json_of_channel channel converts the text from channel to a json value returing an error if the channel contents have syntax, grammar or compliance errors. The channel is not closed
json_of_channel channel converts the text from channel to a json value raising a Failure exception if the channel contents have syntax, grammar or compliance errors. The file is not closed
json_of_function f converts text provided by f to a json value returing an error if the supplied text has syntax, grammar or compliance errors. The function f buf len takes a bytesbuf buffer, the maximum number of bytes to read len and returns the number of bytes read. Returning 0 indicates end-of-file
json_of_function_exn f converts text provided by f to a json value raising a Failure exception if the channel contents have syntax, grammar or compliance errors. See json_of_function for detail of function f
json_of_lexbuf lexbuf converts text in the supplied lexbuf to a json value returning an error if the supplied text has syntax, grammar or compliance errors. This is a low level function and json_of_function should be used in preference
json_of_lexbuf_exn lexbuf converts text in the supplied lexbuf to a json value raising a Failure exception if the supplied text has syntax, grammar or compliance errors. This is a low level function and json_of_function_exn should be used in preference
The following functions are identical to the functions without the _error_info extension except they return an (json, Error_info.t) result instead of a (json, string) result. See Jsonxt.Error_info for details of of Error_info.t
stream_from_string string converts string containing zero or more json object to a json Stream.t value raising a Failure exception if the string has syntax, grammar or compliance errors
stream_from_channel in_channel converts the text from in_channel, containing zero or more json objects, to a json Stream.t value raising a Failure exception if the file has syntax, grammar or compliance errors. The optional parameter fin specifies a function to call when all json objects have been returned or a failure occurs
stream_from_file filename converts the text from file filename, containing zero or more json objects, to a json Stream.t value raising a Failure exception if the file has syntax, grammar or compliance errors
stream_from_function f converts text provided by f, containing zero of more JSON objects, to a json Stream.t value raising a Failure exception if the file has syntax, grammar or compliance errors. The function f buf len takes a buf buffer to fill, the maximum number of bytes to read len and returns the number of bytes read. Returning 0 indicates end-of-file
stream_from_file lexbuf converts the text from lexbuf, containing zero or more json objects, to a json Stream.t value raising a Failure exception if the file has syntax, grammar or compliance errors. This is a low level function and stream_from_function should be used in preference
The following functions are identical to the functions without the _error_info extension except they raise an Error_info.Json_error_info Error_info.t exception instead of a Failure string. See Jsonxt.Error_info for details of the exception
json_to_string_hum json converts json to a string in human readable format, returning an error if the json value contains data that fails compliance checks
json_to_string_hum_exn json converts json to a string in human readable format, raising a Failure excepion if the json value contains data that fails compliance checks
json_to_file file json converts json to a string and writes it to file, returning an error if the json value contains data that fails compliance checks. The file will be closed on error.
json_to_file_hum file json converts json to a string in human readable format and writes it to file, returning an error if the json value contains data that fails compliance checks. The file will be closed on error.
json_to_file_exn file json converts json to a string and writes it to file, raising a Failure exception if the json value contains data that fails compliance checks. The file will be closed on error.
json_to_file_hum_exn file json converts json to a string in human readable format and writes it to file, raising Failure exception if the json value contains data that fails compliance checks. The file will be closed on error.
json_to_channel channel json converts json to a string and writes it to channel, returning an error if the json value contains data that fails compliance checks. The channel is not closed.
json_to_channel_exn channel json converts json to a string and writes it to channel, raising a Failure exception if the json value contains data that fails compliance checks. The channel will be closed on error.
json_to_channel_hum channel json converts json to a string in human readable format and writes it to channel, returning an error if the json value contains data that fails compliance checks. The channel is not closed.
json_to_channel_hum_exn channel json converts json to a string in human readable format and writes it to channel, raising Failure exception if the json value contains data that fails compliance checks. The channel is not closed
json_to_buffer buf json converts and outputs json to the supplied buf, returning an error if the json value contains data that fails compliance checks.
json_to_buffer_exn buf json converts and outputs json to the supplied buf, raising a Failure exception if the json value contains data that fails compliance checks.
json_to_buffer_hum buf json converts and outputs json in a human readable format to the supplied buf, returning an eror if the json value contains data that fails compliance checks.
json_to_buffer_hum_exn buf json converts and outputs json in a human readable format to the supplied buf, raising a Failure exception if the json value contains data that fails compliance checks.