Prédicat IS JSON
Le prédicat IS JSON détermine si une valeur est au format JSON avec les attributs spécifiés.
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.
- 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
