Wenn Sie Ihre Abfrage im SQL-Editor eingeben oder eine Berechnung erstellen, verwenden Sie Presto SQL-Syntax. Zum Anpassen von JSON-Arrays und -Werten (JavaScript Object Notation) können diese allgemeinen Funktionen nützlich sein.
JSON_ARRAY_LENGTH
Um die Anzahl der Werte - oder die Länge - eines JSON-Arrays zurückzugeben, verwenden Sie die Funktion JSON_ARRAY_LENGTH, wie z.B.:
json_array_length(json) → bigint
Beispiel: SELECT json_array_length('[a, b, c]'); liefert eine Länge von 3.
JSON_ARRAY_GET
Um einen Wert eines JSON-Arrays basierend auf einem Null-basierten Index zurückzugeben, verwenden Sie die Funktion JSON_ARRAY_GET, wie z.B.:
json_array_get(json_array, index) → json
Zum Beispiel:
-
SELECT json_array_get('["a", "b", "c"]', 0);liefert'a' -
SELECT json_array_get('["a", "b", "c"]', 1);liefert'b'
Um Werte zurückzugeben, die vom Ende des Arrays indiziert sind, können Sie negative Indizes verwenden. Zum Beispiel:
-
SELECT json_array_get('["c", "b", "a"]', -1);liefert'a' -
SELECT json_array_get('["c", "b", "a"]', -2);liefert'b'
Wenn kein Element am angegebenen Index existiert, gibt die Funktion null zurück. Zum Beispiel:
-
SELECT json_array_get('[]', 0);liefertnull -
SELECT json_array_get('["a", "b", "c"]', 10);liefertnull -
SELECT json_array_get('["c", "b", "a"]', -10);liefertnull
JSON_EXTRACT
Um den JSONPath-ähnlichen Ausdruck einer Zeichenkette, die JSON enthält, auszuwerten und die Ergebnisse als JSON-kodierte Zeichenkette zurückzugeben, verwenden Sie die Funktion JSON_EXTRACT, z. B:
json_extract(json, json_path) → json
Zum Beispiel:
SELECT json_extract(json, '$.store.book');
Hinweis: Um die Ergebnisse als Zeichenfolge und nicht kodiert als JSON zurückzugeben, verwenden Sie stattdessen die Funktion JSON_EXTRACT_SCALAR.
JSON_EXTRACT_SCALAR
Um den JSONPath-ähnlichen Ausdruck einer Zeichenkette auszuwerten, die JSON enthält und auf einen skalaren Wert - Text, Boolescher Wert oder Zahl - verweist, und die Ergebnisse als Zeichenkette zurückzugeben, verwenden Sie die Funktion JSON_EXTRACT_SCALAR, wie z.B.:
json_extract_scalar(json, json_path) → varchar
Zum Beispiel:
SELECT json_extract_scalar(json, '$.store.book[0].author');
SELECT json_extract_scalar('[1, 2, 3]', '$[2]'); Hinweis: Um die Ergebnisse als JSON-kodierten String zurückzugeben, verwenden Sie stattdessen die Funktion JSON_EXTRACT.
JSON_FORMAT
Um die Werte der JSON-Syntax als Zeichenkette zurückzugeben, verwenden Sie die Funktion JSON_FORMAT, wie zum Beispiel:
json_format(json) → varchar
Zum Beispiel:
-
SELECT json_format(json '[1, 2, 3]');liefert'[1, 2, 3]' -
SELECT json_format(json '"a"');liefert'"a"'
Tipp: Die Funktion JSON_FORMAT ist die Umkehrung der Funktion JSON_PARSE.
JSON_PARSE
Um eine Zeichenkette als JSON-Syntax zu parsen, verwenden Sie die Funktion JSON_PARSE, z. B:
json_parse(string) → json
Zum Beispiel: SELECT json_parse('[1, 2, 3]'); liefert JSON '[1, 2, 3]'
Tipp: Die Funktion JSON_PARSE ist die Umkehrung der Funktion JSON_FORMAT.
W_JSON_ARRAY_JOIN
Um die Werte eines JSON-Arrays als abgegrenzte Zeichenkette zurückzugeben, verwenden Sie die Funktion W_JSON_ARRAY_JOIN, z. B:
w_json_array_join(array, 'delimiter') → varchar