Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
JSON_ EXTRACT _ ARRAY _ ELEMENT _ TEXT fonction
Note
JSON_ PARSE et ses fonctions associées analysent les JSON valeurs en tant que tellesSUPER, ce qu'Amazon Redshift analyse plus efficacement que. VARCHAR
Au lieu d'utiliser JSON EXTRACT _ ARRAY _ _ ELEMENT _TEXT, nous vous recommandons d'analyser vos JSON chaînes en utilisant le JSON_ PARSE fonction pour obtenir une SUPER valeur. Ensuite, interrogez l'élément souhaité à l'aide de son index de tableau, en utilisant la value[element position]
syntaxe. Pour plus d'informations sur l'interrogation d'éléments d'un tableau dans SUPER des valeurs, consultez. Interrogation de données semi-structurées
La TEXT fonction JSON _ EXTRACT _ ARRAY _ ELEMENT _ renvoie un élément de JSON tableau situé dans le tableau le plus externe d'une JSON chaîne, en utilisant un index de base zéro. Le premier élément d’un tableau est à la position 0. Si l'indice est négatif ou hors limite, JSON _ _ EXTRACT _ ARRAY ELEMENT _ TEXT renvoie une chaîne vide. Si l'argument null_if_invalid est défini sur true
et que la JSON chaîne n'est pas valide, la fonction renvoie NULL
au lieu de renvoyer une erreur.
Pour de plus amples informations, veuillez consulter JSONfonctions.
Syntaxe
JSON_EXTRACT_ARRAY_ELEMENT_TEXT('json string', pos [, null_if_invalid ] )
Arguments
- json_string
-
JSONChaîne correctement formatée.
- pos
-
INTEGER
représentant l’index de l’élément de tableau à renvoyer, à l’aide d’un index de tableau de base zéro.
- null_if_invalid
-
(Facultatif) Une
BOOLEAN
valeur qui indique s'il faut renvoyerNULL
si la JSON chaîne d'entrée n'est pas valide au lieu de renvoyer une erreur. Pour revenirNULL
si le n'JSONest pas valide, spécifieztrue
(t
). Pour renvoyer un message d'erreur s'il n'JSONest pas valide, spécifiezfalse
(f
). L’argument par défaut estfalse
.
Type de retour
VARCHAR
-
VARCHAR
Chaîne représentant l'élément du JSON tableau référencé par pos.
Exemples
Pour renvoyer l’élément de tableau à la position 2, qui est le troisième élément d’un index de tableau de base zéro, utilisez l’exemple suivant.
SELECT JSON_EXTRACT_ARRAY_ELEMENT_TEXT('[111,112,113]', 2);
+---------------------------------+ | json_extract_array_element_text | +---------------------------------+ | 113 | +---------------------------------+
Pour renvoyer une erreur car elle n'JSONest pas valide, utilisez l'exemple suivant.
SELECT JSON_EXTRACT_ARRAY_ELEMENT_TEXT('["a",["b",1,["c",2,3,null,]]]',1);
ERROR: invalid json array object ["a",["b",1,["c",2,3,null,]]]
Pour définir null_if_invalid sur true, afin que l'instruction renvoie NULL
au lieu de renvoyer une erreur en cas de non-validitéJSON, utilisez l'exemple suivant.
SELECT JSON_EXTRACT_ARRAY_ELEMENT_TEXT('["a",["b",1,["c",2,3,null,]]]',1,true);
+---------------------------------+ | json_extract_array_element_text | +---------------------------------+ | NULL | +---------------------------------+