Skip to content

parse_json and try_parse_json interprets an input string as a JSON document, producing a VARIANT value.

try_parse_json returns a NULL value if an error occurs during parsing.

func.parse_json(<json_string>)
or
func.try_parse_json(<json_string>)
func.parse_json('[-1, 12, 289, 2188, false]')
┌───────────────────────────────────────────────┐
│ func.parse_json('[-1, 12, 289, 2188, false]') │
├───────────────────────────────────────────────┤
[-1,12,289,2188,false]
└───────────────────────────────────────────────┘
func.try_parse_json('{ "x" : "abc", "y" : false, "z": 10} ')
┌──────────────────────────────────────────────────────────────┐
│ func.try_parse_json('{ "x" : "abc", "y" : false, "z": 10} ') │
├──────────────────────────────────────────────────────────────┤
│ {"x":"abc","y":false,"z":10} │
└──────────────────────────────────────────────────────────────┘
PARSE_JSON(<expr>)
TRY_PARSE_JSON(<expr>)
ArgumentsDescription
<expr>An expression of string type (e.g. VARCHAR) that holds valid JSON information.

VARIANT

SELECT parse_json('[-1, 12, 289, 2188, false]');
┌──────────────────────────────────────────┐
│ parse_json('[-1, 12, 289, 2188, false]') │
├──────────────────────────────────────────┤
│ [-1,12,289,2188,false] │
└──────────────────────────────────────────┘
SELECT try_parse_json('{ "x" : "abc", "y" : false, "z": 10} ');
┌─────────────────────────────────────────────────────────┐
│ try_parse_json('{ "x" : "abc", "y" : false, "z": 10} ') │
├─────────────────────────────────────────────────────────┤
│ {"x":"abc","y":false,"z":10} │
└─────────────────────────────────────────────────────────┘