json

json

Le type de données " json stocke une copie exacte du texte d'entrée, qui doit être recomposée à chaque exécution. Pour cette raison, " json préserve l'espace blanc sémantiquement insignifiant entre les tokens, ainsi que l'ordre des clés dans les objets " JSON.

Si un objet " JSON de la valeur contient plusieurs fois la même clé, toutes les paires clé/valeur sont conservées. (Les fonctions de traitement considèrent la dernière valeur comme la valeur opérationnelle)

Le type de données " json peut être utilisé pour stocker des données " JSON Ces données peuvent également être stockées sous forme de texte, mais le type de données json présente l'avantage de vérifier que chaque valeur stockée est une valeur JSON valide.

La RFC 7159 autorise les chaînes " JSON à contenir des séquences d'échappement Unicode désignées par " \uXXXX. Dans la fonction d'entrée pour le type " json, les échappements Unicode sont autorisés quel que soit l'encodage de la base de données et ne sont vérifiés que pour l'exactitude syntaxique (quatre chiffres hexadécimaux doivent suivre \u).

Il ne peut y avoir plus d'une colonne " json dans un tableau. En outre, il convient de noter que seul un nombre limité de colonnes de taille fixe ou variable (totalisant environ 1 500 octets) peut être pris en charge avec le type de données JSON.
SYSTEM.ADMIN(ADMIN)=> create table testjson1(c1 json, c2 varchar(1500));
CREATE TABLE
 

SYSTEM.ADMIN(ADMIN)=> create table testjson2(c1 json, c2 varchar(1800));
ERROR:  Table 'TESTJSON2' record size 65800 exceeds internal limit of 65535 bytes