@ARRAYディレクティブ

@arrayディレクティブを使用すると、ネストされたオブジェクトを配列として明示的に形成できます。

@arrayディレクティブには引数がありません。

SELECT JSON_SERIALIZE(data PRETTY) AS data FROM GRAPHQL('
    driver {
        driverId: driver_id
        driverName: name
        driverPoints: points
        teamDetails: team @array {
            teamId: team_id
            teamName: name
            teamPoints: points
        }
    }
');
前述の例では、フィールドteamIDteamNameおよびteamPointsが出力の配列の一部である必要があることを明示的に定義しています:
DATA                                                                           
--------------------------------------------------------------------------------
{                                                                              
  "driverId" : 101,                                                            
  "driverName" : "Lando Norris",                                               
  "driverPoints" : 282,                                                        
  "teamDetails" :                                                              
  [                                                                            
    {                                                                          
      "teamId" : 301,                                                          
      "teamName" : "McLaren Mercedes",                                         
      "teamPoints" : 666                                                       
    }                                                                          
  ]                                                                            
}                                                                              
                                                                                 
{                                                                              
  "driverId" : 102,                                                            
  "driverName" : "Oscar Piastri",                                              
  "driverPoints" : 384,                                                        
  "teamDetails" :                                                              
  [                                                                            
    {                                                                          
      "teamId" : 301,                                                          
      "teamName" : "McLaren Mercedes",                                         
      "teamPoints" : 666                                                       
    }                                                                          
  ]                                                                            
}               
.................................
.................................
20 rows selected.
@arrayディレクティブのかわりに、角括弧を使用して、配列に含める必要があるフィールドを囲むこともできます。このため、次の例では、@arrayディレクティブを使用した場合と同じ出力が生成されます:
SELECT JSON_SERIALIZE(data PRETTY) AS data FROM GRAPHQL('
    driver {
        driverId: driver_id
        driverName: name
        driverPoints: points
        teamDetails: team
        [
            {
                teamId: team_id
                teamName: name
                teamPoints: points
            }
        ]
    }
');