JSON文字列からスカラー値を返すJSON_VALUE関数とJSON文字列からオブジェクトまたは配列を返すJSON_QUERY関数を試します。

クエリを書いて実行してみた結果です。

declare @json nvarchar(max) = '{
    "a": true,
    "b": 1,
    "c": "xyz",
    "d": null,
    "x": {},
    "y": []
}';

-- JSON_VALUE関数は、真偽値、数値、文字列を取得できる
select
    json_value(@json, '$.a') as [boolean],
    json_value(@json, '$.b') as [number],
    json_value(@json, '$.c') as [string],
    json_value(@json, '$.d') as [null],
    json_value(@json, '$.x') as [object],
    json_value(@json, '$.y') as [array];
/*
boolean     number      string      null        object      array
----------- ----------- ----------- ----------- ----------- -----------
true        1           xyz         NULL        NULL        NULL
*/

-- JSON_QUERY関数は、配列、オブジェクトを取得できる
select
    json_query(@json, '$.a') as [boolean],
    json_query(@json, '$.b') as [number],
    json_query(@json, '$.c') as [string],
    json_query(@json, '$.d') as [null],
    json_query(@json, '$.x') as [object],
    json_query(@json, '$.y') as [array];
/*
boolean     number      string      null        object      array
----------- ----------- ----------- ----------- ----------- -----------
NULL        NULL        NULL        NULL        {}          []
*/

JSON内のnullJSON_VALUE関数、JSON_QUERY関数どちらもでNULLになります。