# [112]天方科技 ASP.net core 教育訓練 1120502
### 將查詢欄位串成`json`字串輸出
```SQL=
Create or ALTER procedure [dbo].[up_jsonCmparea] @json nvarchar(max) output
as
set nocount on;
select @json='['+
STRING_AGG(
concat('{"cmp_area":', cmp_area,',"cmp_name_abr":"', cmp_name_abr, '","cmp_name_full":"', cmp_name_full,'"}')
, ',')
+']'
from s90_cmparea
go
declare @x nvarchar(max)
exec up_jsonCmparea @x output
select @x
```
### 建立一個`Get`方法呼叫`up_jsonCmparea()`
```csharp=
[HttpGet("sp/sp/json")]
public async Task<ContentResult> up_jsonCmparea() //ContentResult根據資料內容自動處理
{
//var parameterreturnValue = new SqlParameter("returnValue", SqlDbType.Int)
//{
// Direction = ParameterDirection.Output,
//};
var sqlParameters = new[]
{
new SqlParameter("@json", SqlDbType.NVarChar,-1) //-1 = Max
{
Direction= ParameterDirection.Output,
},
//parameterreturnValue,
};
var result = await _context.Database.ExecuteSqlRawAsync("EXEC [dbo].[up_jsonCmparea] @json Output", sqlParameters);
string json = sqlParameters[0].Value.ToString() ?? "[]";
return Content(json, "application/json", Encoding.UTF8);
}
```