JSON_ EXTRACT _ ARRAY _ ELEMENT _ TEXT fonction - Amazon Redshift

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 renvoyer NULL si la JSON chaîne d'entrée n'est pas valide au lieu de renvoyer une erreur. Pour revenir NULL si le n'JSONest pas valide, spécifiez true (t). Pour renvoyer un message d'erreur s'il n'JSONest pas valide, spécifiez false (f). L’argument par défaut est false.

Type de retour

VARCHAR

VARCHARChaî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 | +---------------------------------+