JSON_EACH (Lakehouse v1)
Wyodrębnia pary klucz-wartość z obiektu JSON, rozbijając strukturę na poszczególne wiersze zbioru wyników. Każdy wiersz reprezentuje jedną parę klucz-wartość pochodzącą z wejściowego wyrażenia JSON.
Składnia Analyze
Dział zatytułowany „Składnia Analyze”func.json_each(<json_string>)Przykłady Analyze
Dział zatytułowany „Przykłady Analyze”┌────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ func.json_each(func.parse_json('{"name": "john", "age": 25, "isstudent": false, "grades": [90, 85, 92]}')) │├────────────────────────────────────────────────────────────────────────────────────────────────────────────┤│ ('age','25') ││ ('grades','[90,85,92]') ││ ('isStudent','false') ││ ('name','"John"') │└────────────────────────────────────────────────────────────────────────────────────────────────────────────┘Składnia SQL
Dział zatytułowany „Składnia SQL”JSON_EACH(<json_string>)Typ zwracany
Dział zatytułowany „Typ zwracany”JSON_EACH zwraca zbiór krotek, z których każda składa się z klucza typu STRING i odpowiadającej mu wartości typu VARIANT.
Przykłady SQL
Dział zatytułowany „Przykłady SQL”-- Extract key-value pairs from a JSON object representing information about a personSELECT JSON_EACH( PARSE_JSON ( '{"name": "John", "age": 25, "isStudent": false, "grades": [90, 85, 92]}' ) );
┌──────────────────────────────────────────────────────────────────────────────────────────────────┐│ json_each(parse_json('{"name": "john", "age": 25, "isstudent": false, "grades": [90, 85, 92]}')) │├──────────────────────────────────────────────────────────────────────────────────────────────────┤│ ('age','25') ││ ('grades','[90,85,92]') ││ ('isStudent','false') ││ ('name','"John"') │└──────────────────────────────────────────────────────────────────────────────────────────────────┘
-- Display data types of the extracted valuesSELECT TYPEOF ( JSON_EACH( PARSE_JSON ( '{"name": "John", "age": 25, "isStudent": false, "grades": [90, 85, 92]}' ) ) );
┌──────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ typeof(json_each(parse_json('{"name": "john", "age": 25, "isstudent": false, "grades": [90, 85, 92]}'))) │├──────────────────────────────────────────────────────────────────────────────────────────────────────────┤│ TUPLE(STRING, VARIANT) NULL ││ TUPLE(STRING, VARIANT) NULL ││ TUPLE(STRING, VARIANT) NULL ││ TUPLE(STRING, VARIANT) NULL │└──────────────────────────────────────────────────────────────────────────────────────────────────────────┘