Я хочу сгенерировать JSON данные из таблицы базы данных с помощью веб-API C#. Ниже приведена структура таблицы
CREATE TABLE [dbo].[Fields](
[fieldID] [varchar](250) NOT NULL,
[displayName] [varchar](500) NOT NULL,
[id] [bigint] NOT NULL,
[tenant] [bigint] NOT NULL,
[Name] [varchar](500) NOT NULL,
[description] [varchar](500) NULL,
[type] [varchar](250) NULL
) ON [PRIMARY]
GO
И со следующими данными
INSERT [dbo].[Fields] ([fieldID], [displayName], [id], [tenant], [Name], [description], [type]) VALUES (N'100', N'Loan#', 18, 3, N'Loan#', N'Loan#', N'string')
GO
INSERT [dbo].[Fields] ([fieldID], [displayName], [id], [tenant], [Name], [description], [type]) VALUES (N'101', N'LoanProgram', 19, 3, N'LoanProgram', N'LoanProgram', N'string')
GO
Из этой таблицы, и я хочу сгенерировать JSON в следующем формате с использованием веб-API
{
"100": {
"fieldID": "100",
"displayName": "Loan#",
"id": 18,
"tenant": 3,
"name": "Loan#",
"description": "Loan#",
"type": "string"
},
"101": {
"fieldID": "101",
"displayName": "LoanProgram",
"id": 19,
"tenant": 3,
"name": "LoanProgram",
"description": "LoanProgram",
"type": "string"
}
}
Ниже приведен мой контроллер API
[HttpGet("Fields/{id}/fields/")]
public Object GetFields(int id)
{
return _fieldService.GetFields(id).Result;
}
Я создал класс следующим образом
public class ConfiguredFields
{
public int fieldID { get; set; }
public string displayName { get; set; }
public int id { get; set; }
public string tenant { get; set; }
public string name { get; set; }
public string description { get; set; }
public string type { get; set; }
}
И с помощью Dapper я вызвал SP и попытался установить значение
public async Task<Object> GetWorkflowFields(int WID)
{
using (var db = new SqlConnection(_connectionString.Value))
{
var parameters = new DynamicParameters();
parameters.Add("@pm_ID", WID);
var result = await db.QueryAsync<ConfiguredFields>("SP_GetLoanFields", parameters, commandType: CommandType.StoredProcedure);
return result.ToList();
}
}
Но я получаю JSON в следующем формате (с кругом массива, а не в желаемом формате, где отсутствует мудрая упаковка fieldID.)
[
{
"fieldID": 100,
"displayName": "Loan#",
"id": 18,
"tenant": "3",
"name": "Loan#",
"description": "Loan#",
"type": "string"
},
{
"fieldID": 101,
"displayName": "LoanProgram",
"id": 19,
"tenant": "3",
"name": "LoanProgram",
"description": "LoanProgram",
"type": "string"
}
]
Пожалуйста предложить, какие изменения здесь необходимы, чтобы получить JSON в желаемом формате? Пожалуйста, помогите мне решить эту проблему?