JSON predicate
Applies to ✅ Open Source Edition ✅ Express Edition ✅ Professional Edition ✅ Enterprise Edition
The JSON
predicate can be used to check if a given expression is valid JSON
SELECT 1 FROM dual WHERE '{}' IS JSON AND '{' IS NOT JSON
create.selectOne() .where(val("{}").isJson()) .and(val("{").isNotJson()) .fetch();
Dialect support
This example using jOOQ:
val("{}").isJson()
Translates to the following dialect specific expressions:
-- DUCKDB, MARIADB, MYSQL json_valid('{}') -- ORACLE '{}' IS JSON -- SNOWFLAKE (check_json('{}') IS NULL) -- SQLDATAWAREHOUSE, SQLSERVER (isjson('{}') = 1) -- ACCESS, ASE, AURORA_MYSQL, AURORA_POSTGRES, BIGQUERY, COCKROACHDB, DB2, DERBY, EXASOL, FIREBIRD, H2, HANA, HSQLDB, -- INFORMIX, MEMSQL, POSTGRES, REDSHIFT, SQLITE, SYBASE, TERADATA, TRINO, VERTICA, YUGABYTEDB /* UNSUPPORTED */
(These are currently generated with jOOQ 3.19, see #10141), or translate your own on our website
Feedback
Do you have any feedback about this page? We'd love to hear it!