Prédicat IS JSON

Le prédicat IS JSON détermine si une valeur est au format JSON avec les attributs spécifiés.

Lire le diagramme de syntaxeIgnorer le diagramme de syntaxe graphique Expression JSON FORMAT JSONFORMAT BSON IS JSONIS NOT JSON VALUEARRAYOBJECTSCALAR WITHOUT UNIQUEKEYSWITH UNIQUEKEYS

Le résultat du prédicat IS JSON est true si l' expression JSON est conforme au format JSON spécifié par le type d'élément et la clause UNIQUE KEYS. Le résultat est false si JSON-expression n'est pas conforme au format JSON spécifié par le type d'élément et la clause UNIQUE KEYS ou si JSON-expression est la chaîne vide. Si NOT est spécifié, le résultat est inversé. Si la valeur de JSON-expression est null, le résultat est inconnu.

expression-JSON
Expression qui renvoie une valeur qui est un type de données de chaîne intégré.
FORMAT JSON ou FORMAT BSON
Indique comment JSON-expression doit être interprété.
FORMAT JSON
JSON-expression contient des données JSON. Si JSON-expression est une donnée binaire, les données sont interprétées comme UTF-8 ou UTF-16. Les données binaires ne peuvent pas être codées à l'aide d'un CCSID EBCDIC.
FORMAT BSON
JSON-expression contient la représentation BSON des données JSON. Lorsque FORMAT BSON est spécifié, JSON-expression doit être un type de données de chaîne binaire.
Si la clause FORMAT n'est pas spécifiée et que JSON-expression est une chaîne de caractères ou graphique, JSON-expression est traité comme JSON. Si la clause FORMAT n'est pas spécifiée et que JSON-expression est une chaîne binaire, JSON-expression est traité comme BSON.
VALUE, ARRAY, OBJECT ou SCALAR
Indique le type d'élément JSON à comparer au contenu de JSON-expression.
VALEUR
Valeur JSON valide de l'un des types ARRAY, OBJECT ou SCALAR.
Grappe
Un tableau JSON valide qui est une liste de valeurs séparées par des virgules et placées entre crochets.
OBJECT
Objet JSON valide qui est une liste de paires key: value séparées par des virgules et placées entre une accolade gauche et une accolade droite.
scalaire
Valeur JSON valide qui n'est pas un tableau JSON ou un objet JSON. Une valeur scalaire peut être une chaîne de caractères, un nombre ou l'un des littéraux JSON: null, trueou false.
SANS CLÉS UNIQUES ou AVEC CLÉS UNIQUES
Indique si JSON-expression est considéré comme étant un JSON valide lorsque les clés ne sont pas uniques. Cette clause est ignorée si l'élément JSON n'est pas un objet JSON.
SANS CLÉS UNIQUES
Un objet JSON avec des clés qui ne sont pas uniques est un objet JSON valide.
AVEC DES CLÉS UNIQUES
Un objet JSON avec des clés qui ne sont pas uniques n'est pas un JSON valide.

Exemple

  • Créez un déclencheur pour vous assurer que seul un objet JSON valide peut être inséré dans une colonne JSON_DATA.
    CREATE TRIGGER VALIDATE_JSON BEFORE INSERT ON T
      REFERENCING NEW AS N
      FOR EACH ROW
      IF N.JSON_DATA IS NOT JSON OBJECT THEN
        SIGNAL SQLSTATE '75007' SET MESSAGE_TEXT = 'Input is not valid JSON');
      END IF