MS SQL - 尝试使用 FOR JSON 输出每个值的方括号

MS SQL - Trying to use FOR JSON to output with square brackets for each value

我正在使用 MSSQL 尝试以特定格式获取 JSON 输出,并用方括号括住各个值。这是查询的一部分:

SELECT DISTINCT 
    (SELECT Email_Address AS fieldValues
     FROM table1
     FOR JSON PATH) records
FROM table1
FOR JSON PATH, WITHOUT_ARRAY_WRAPPER

这是结果:

{
    "records": [
        {
            "fieldValues": "test@email.com"
        }
    ]
}

我需要在电子邮件地址周围加上方括号,这样它看起来像这样:

{
    "records": [
        {
            "fieldValues": [
                 "test@email.com"
             ]
        }
    ]
}

有什么办法吗?

在 SQL 服务器中序列化 JSON 数组有点麻烦,需要使用 JSON_QUERY() over STRING_AGG() 输出之类的东西,例如:

select
  (
    select
      json_query('['+(
        select string_agg(quotename(Email_Address, '"'), ',')
        from table1
      )+']', '$') as [fieldValues]
      for json path
  ) as [records]
for json path, without_array_wrapper;