protocol
json_protocol
JSON parser and generator protocol.
Availability:
logtalk_load(json(loader))Author: Paulo Moura and Jacinto Dávila
Version: 1:0:0
Date: 2026-07-05
Compilation flags:
staticDependencies:
(none)
Remarks:
(none)
Inherited public predicates:
(none)
Public predicates
parse/2
Parses the JSON contents read from the given source (codes(List), stream(Stream), line(Stream), file(Path), chars(List), or atom(Atom)) into a term.
Compilation flags:
staticTemplate:
parse(Source,Term)Mode and number of proofs:
parse(++compound,--term) - one_or_errorExceptions:
Source is a variable:instantiation_errorSource is neither a variable nor a valid JSON source term:domain_error(json_source,Source)Source is a valid JSON source term but does not contain parsable JSON:domain_error(json,Source)generate/2
Generates the content using the representation specified in the first argument (codes(List), stream(Stream), file(Path), chars(List), or atom(Atom)) for the term in the second argument. Fails if this term cannot be processed.
Compilation flags:
staticTemplate:
generate(Sink,Term)Mode and number of proofs:
generate(+compound,++term) - one_or_errorExceptions:
Sink is a variable:instantiation_errorSink is neither a variable nor a valid JSON sink term:domain_error(json_sink,Sink)A JSON version of
Term cannot be generated by the implementation:domain_error(json_term,Term)Protected predicates
(none)
Private predicates
(none)
Operators
(none)