Liking cljdoc? Tell your friends :D

clojure.data.json

JavaScript Object Notation (JSON) parser/generator. See http://www.json.org/

JavaScript Object Notation (JSON) parser/generator.
See http://www.json.org/
raw docstring

codepoint-decoderclj

source

default-read-optionsclj

source

default-write-optionsclj

source

invalid-array-exceptionclj

(invalid-array-exception)
source

json-strclj

(json-str x & options)

DEPRECATED; replaced by 'write-str'.

Converts x to a JSON-formatted string.

Valid options are: :escape-unicode false to turn of \uXXXX escapes of Unicode characters.

DEPRECATED; replaced by 'write-str'.

Converts x to a JSON-formatted string.

Valid options are:
  :escape-unicode false
      to turn of \uXXXX escapes of Unicode characters.
sourceraw docstring

JSONWritercljprotocol

-writeclj

(-write object out options)

Print object to Appendable out as JSON

Print object to Appendable out as JSON
source

on-extra-throwclj

(on-extra-throw val rdr)

Pass as :extra-data-fn to read or read-str to throw if data is found after the first object.

Pass as :extra-data-fn to `read` or `read-str` to throw if data is found
after the first object.
sourceraw docstring

on-extra-throw-remainingclj

(on-extra-throw-remaining val rdr)

Pass as :extra-data-fn to read or read-str to throw if data is found after the first object and return the remaining data in ex-data :remaining.

Pass as :extra-data-fn to `read` or `read-str` to throw if data is found
after the first object and return the remaining data in ex-data :remaining.
sourceraw docstring

pprintclj

(pprint x & {:as options})

Pretty-prints JSON representation of x to out. Options are the same as for write except :value-fn and :indent, which are not supported.

Pretty-prints JSON representation of x to *out*. Options are the same
as for write except :value-fn and :indent, which are not supported.
sourceraw docstring

pprint-jsonclj

(pprint-json x & options)

DEPRECATED; replaced by 'pprint'.

Pretty-prints JSON representation of x to out.

Valid options are: :escape-unicode false to turn off \uXXXX escapes of Unicode characters.

DEPRECATED; replaced by 'pprint'.

Pretty-prints JSON representation of x to *out*.

Valid options are:
  :escape-unicode false
      to turn off \uXXXX escapes of Unicode characters.
sourceraw docstring

(print-json x & options)

DEPRECATED; replaced by 'write' to out.

Write JSON-formatted output to out.

Valid options are: :escape-unicode false to turn off \uXXXX escapes of Unicode characters.

DEPRECATED; replaced by 'write' to *out*.

Write JSON-formatted output to *out*.

Valid options are:
  :escape-unicode false
      to turn off \uXXXX escapes of Unicode characters.
sourceraw docstring

readclj

(read reader & {:as options})

Reads a single item of JSON data from a java.io.Reader.

If you wish to repeatedly read items from the same reader, you must supply a PushbackReader with buffer size >= 64, and reuse it on subsequent calls.

Options are key-value pairs, valid options are:

:eof-error? boolean

  If true (default) will throw exception if the stream is empty.

:eof-value Object

  Object to return if the stream is empty and eof-error? is
  false. Default is nil.

:bigdec boolean

  If true use BigDecimal for decimal numbers instead of Double.
  Default is false.

:key-fn function

  Single-argument function called on JSON property names; return
  value will replace the property names in the output. Default
  is clojure.core/identity, use clojure.core/keyword to get
  keyword properties.

:value-fn function

  Function to transform values in maps ("objects" in JSON) in
  the output. For each JSON property, value-fn is called with
  two arguments: the property name (transformed by key-fn) and
  the value. The return value of value-fn will replace the value
  in the output. If value-fn returns itself, the property will
  be omitted from the output. The default value-fn returns the
  value unchanged. This option does not apply to non-map
  collections.

:extra-data-fn function

 If :extra-data-fn is not nil, then the reader will be checked
 for extra data after the read. If found, the extra-data-fn will
 be invoked with the read value and the reader. The result of
 the extra-data-fn will be returned.
Reads a single item of JSON data from a java.io.Reader.

If you wish to repeatedly read items from the same reader, you must
supply a PushbackReader with buffer size >= 64, and reuse it on
subsequent calls.

Options are key-value pairs, valid options are:

   :eof-error? boolean

      If true (default) will throw exception if the stream is empty.

   :eof-value Object

      Object to return if the stream is empty and eof-error? is
      false. Default is nil.

   :bigdec boolean

      If true use BigDecimal for decimal numbers instead of Double.
      Default is false.

   :key-fn function

      Single-argument function called on JSON property names; return
      value will replace the property names in the output. Default
      is clojure.core/identity, use clojure.core/keyword to get
      keyword properties.

   :value-fn function

      Function to transform values in maps ("objects" in JSON) in
      the output. For each JSON property, value-fn is called with
      two arguments: the property name (transformed by key-fn) and
      the value. The return value of value-fn will replace the value
      in the output. If value-fn returns itself, the property will
      be omitted from the output. The default value-fn returns the
      value unchanged. This option does not apply to non-map
      collections.

   :extra-data-fn function

     If :extra-data-fn is not nil, then the reader will be checked
     for extra data after the read. If found, the extra-data-fn will
     be invoked with the read value and the reader. The result of
     the extra-data-fn will be returned.
sourceraw docstring

read-jsonclj

(read-json input)
(read-json input keywordize?)
(read-json input keywordize? eof-error? eof-value)

DEPRECATED; replaced by read-str.

Reads one JSON value from input String or Reader. If keywordize? is true (default), object keys will be converted to keywords. If eof-error? is true (default), empty input will throw an EOFException; if false EOF will return eof-value.

DEPRECATED; replaced by read-str.

Reads one JSON value from input String or Reader. If keywordize? is
true (default), object keys will be converted to keywords. If
eof-error? is true (default), empty input will throw an
EOFException; if false EOF will return eof-value.
sourceraw docstring

read-strclj

(read-str string & {:as options})

Reads one JSON value from input String. Options are the same as for read.

Reads one JSON value from input String. Options are the same as for
read.
sourceraw docstring

writeclj

(write x writer & {:as options})

Write JSON-formatted output to a java.io.Writer. Options are key-value pairs, valid options are:

:escape-unicode boolean

If true (default) non-ASCII characters are escaped as \uXXXX

:escape-js-separators boolean

If true (default) the Unicode characters U+2028 and U+2029 will
be escaped as \u2028 and \u2029 even if :escape-unicode is
false. (These two characters are valid in pure JSON but are not
valid in JavaScript strings.)

:escape-slash boolean

If true (default) the slash / is escaped as \/

:sql-date-converter function

Single-argument function used to convert a java.sql.Date to
a java.time.Instant. As java.sql.Date does not have a
time-component (which is required by java.time.Instant), it needs
to be computed. The default implementation, `default-sql-date->instant-fn`
uses
```
   (.toInstant (.atStartOfDay (.toLocalDate sql-date) (java.time.ZoneId/systemDefault)))
```

:date-formatter

 A java.time.DateTimeFormatter instance, defaults to DateTimeFormatter/ISO_INSTANT

:key-fn function

 Single-argument function called on map keys; return value will
 replace the property names in the output. Must return a
 string. Default calls clojure.core/name on symbols and
 keywords and clojure.core/str on everything else.

:value-fn function

 Function to transform values in maps before writing. For each
 key-value pair in an input map, called with two arguments: the
 key (BEFORE transformation by key-fn) and the value. The
 return value of value-fn will replace the value in the output.
 If the return value is a number, boolean, string, or nil it
 will be included literally in the output. If the return value
 is a non-map collection, it will be processed recursively. If
 the return value is a map, it will be processed recursively,
 calling value-fn again on its key-value pairs. If value-fn
 returns itself, the key-value pair will be omitted from the
 output. This option does not apply to non-map collections.

:default-write-fn function

 Function to handle types which are unknown to data.json. Defaults
 to a function which throws an exception. Expects to be called with
 three args, the value to be serialized, the output stream, and the
 options map.

:indent boolean

 If true, indent json while writing (default = false).
Write JSON-formatted output to a java.io.Writer. Options are
key-value pairs, valid options are:

 :escape-unicode boolean

    If true (default) non-ASCII characters are escaped as \uXXXX

 :escape-js-separators boolean

    If true (default) the Unicode characters U+2028 and U+2029 will
    be escaped as \u2028 and \u2029 even if :escape-unicode is
    false. (These two characters are valid in pure JSON but are not
    valid in JavaScript strings.)

 :escape-slash boolean

    If true (default) the slash / is escaped as \/

 :sql-date-converter function

    Single-argument function used to convert a java.sql.Date to
    a java.time.Instant. As java.sql.Date does not have a
    time-component (which is required by java.time.Instant), it needs
    to be computed. The default implementation, `default-sql-date->instant-fn`
    uses
    ```
       (.toInstant (.atStartOfDay (.toLocalDate sql-date) (java.time.ZoneId/systemDefault)))
    ```

 :date-formatter

     A java.time.DateTimeFormatter instance, defaults to DateTimeFormatter/ISO_INSTANT

 :key-fn function

     Single-argument function called on map keys; return value will
     replace the property names in the output. Must return a
     string. Default calls clojure.core/name on symbols and
     keywords and clojure.core/str on everything else.

 :value-fn function

     Function to transform values in maps before writing. For each
     key-value pair in an input map, called with two arguments: the
     key (BEFORE transformation by key-fn) and the value. The
     return value of value-fn will replace the value in the output.
     If the return value is a number, boolean, string, or nil it
     will be included literally in the output. If the return value
     is a non-map collection, it will be processed recursively. If
     the return value is a map, it will be processed recursively,
     calling value-fn again on its key-value pairs. If value-fn
     returns itself, the key-value pair will be omitted from the
     output. This option does not apply to non-map collections.

  :default-write-fn function

     Function to handle types which are unknown to data.json. Defaults
     to a function which throws an exception. Expects to be called with
     three args, the value to be serialized, the output stream, and the
     options map.

 :indent boolean

     If true, indent json while writing (default = false).
sourceraw docstring

write-jsonclj

(write-json x out escape-unicode?)

DEPRECATED; replaced by 'write'.

Print object to PrintWriter out as JSON

DEPRECATED; replaced by 'write'.

Print object to PrintWriter out as JSON
sourceraw docstring

write-strclj

(write-str x & {:as options})

Converts x to a JSON-formatted string. Options are the same as write.

Converts x to a JSON-formatted string. Options are the same as
write.
sourceraw docstring

cljdoc is a website building & hosting documentation for Clojure/Script libraries

× close