/usr/lib/swipl/library/ext/http/http/json.pl
All Application Manual Name SummaryHelp

  • http
    • http
      • http_unix_daemon.pl
      • thread_httpd.pl -- Threaded HTTP server
      • http_wrapper.pl -- Server processing of an HTTP request
      • http_header.pl
      • http_stream.pl -- HTTP Streams
      • http_exception.pl -- Map Prolog exceptions to HTTP errors
      • http_path.pl
      • http_dispatch.pl -- Dispatch requests in the HTTP server
      • http_host.pl -- Obtain public server location
      • http_json.pl -- HTTP JSON Plugin module
      • http_client.pl
      • json.pl -- Reading and writing JSON serialization
        • atom_json_term/3
        • json_read/2
        • json_read/3
        • json_write/2
        • json_write/3
        • json_write_hook/4
        • json_dict_pairs/2
        • is_json_term/1
        • is_json_term/2
        • json_read_dict/2
        • json_read_dict/3
        • json_write_dict/2
        • json_write_dict/3
        • atom_json_dict/3
        • json/4
      • http_open.pl -- HTTP client library
      • http_parameters.pl -- Extract parameters (GET and POST) from HTTP requests
      • http_multipart_plugin.pl -- Multipart form-data plugin
      • http_hook.pl -- HTTP library hooks
      • html_write.pl -- Write HTML text
      • html_quasiquotations.pl -- HTML quasi quotations
      • html_decl.pl
      • js_write.pl -- Utilities for including JavaScript
      • js_grammar.pl -- JavaScript grammar
      • http_server_files.pl -- Serve files needed by modules from the server
      • hub.pl -- Manage a hub for websockets
      • websocket.pl -- WebSocket support
      • http_session.pl -- HTTP Session management
      • http_cors.pl -- Enable CORS: Cross-Origin Resource Sharing
      • mimetype.pl -- Determine mime-type for a file
      • html_head.pl
      • term_html.pl
      • http_dyn_workers.pl -- Dynamically schedule HTTP workers.
      • http_server.pl -- HTTP server library
      • http_server_health.pl
      • http_log.pl -- HTTP Logging module
      • http_redis_plugin.pl -- Hook session management to use Redis
      • json_convert.pl -- Convert between JSON terms and Prolog application terms
      • mimepack.pl -- Create a MIME message
      • http_files.pl -- Serve plain files from a hierarchy
      • http_dirindex.pl -- HTTP directory listings
 json_write_hook(+Term, +Stream, +State, +Options) is semidet[multifile, library(http/json)]
Hook that can be used to emit a JSON representation for Term to Stream. If the predicate succeeds it must have written a valid JSON data element and if it fails it may not have produced any output. This facility may be used to map arbitrary Prolog terms to JSON. It was added to manage the precision with which floating point numbers are emitted.

Note that this hook is shared by all users of this library. It is generally advised to map a unique compound term to avoid interference with normal output.

Arguments:
State- and Options are opaque handles to the current output state and settings. Future versions may provide documented access to these terms. Currently it is advised to ignore these arguments.