JSON_SERIALIZE
Syntax
Purpose
The json_serialize
function takes JSON data of any SQL data type ( VARCHAR2
, CLOB
, BLOB
) as input and returns a textual representation of it. You typically use it to transform the result of a query.
You can use json_serialize
to convert binary JSON data to textual form (VARCHAR2
or CLOB
), or to transform textual JSON data by pretty-printing it or escaping non-ASCII Unicode characters in it.
expr
expr
is the input expression. Can be any one of type VARCHAR2
, CLOB
, or BLOB
.
JSON_returning_clause
Use the JSON_returning_clause
to specify the return type. The return type can be one of VARCHAR2
, CLOB
, or BLOB
.
The default return type is VARCHAR2(4000)
.
If the return type is RAW
or BLOB
, it contains UTF8
encoded JSON text.
PRETTY
Specify PRETTY
if you want the result to be formatted for human readability.
ASCII
Specify ASCII
if you want non-ASCII characters to be output using JSON escape sequences.
TRUNCATE
Specify TRUNCATE
, if you want the textual output in the result document to fit into the buffer of the specified return type.
JSON_on_error_clause
Specify JSON_on_error_clause
to control the handling of processing errors.
ERROR ON ERROR
is the default.
EMPTY ON ERROR
is not supported.
If you specify TRUNCATE
with JSON_on_error_clause
, then a value too large for the return type will be truncated to fit into the buffer instead of raising an error.
Example
SELECT JSON_SERIALIZE ('{a:[1,2,3,4]}' RETURNING VARCHAR2(3) TRUNCATE ERROR ON ERROR) from dual –------- {"a
See Also:
Oracle SQL Function JSON_SERIALIZE