Я проводил некоторые исследования о том, как сериализовать строку данных в json. Приведенный ниже код работает и отображается в моем API, но с обратной косой чертой. Я провел некоторое исследование и знаю, что косые черты происходят, потому что я сериализирую данные дважды. То, что я не знаю, как решить эту проблему. Я использую MVC и вызываю API через jquery.
Вот код, который создает JSON Строка:
_sql = "EXEC [dbo].[GetInvoiceAllTotals] @DateRange = '" + dateRange + "', @AcctGuid = '" + userAccountID.AccountGUID + "'";
_table = Functions.DataTable(_sql);
List<Dictionary<string, object>> lst = new List<Dictionary<string, object>>();
Dictionary<string, object> item;
foreach (DataRow row in _table.Rows)
{
item = new Dictionary<string, object>();
foreach (DataColumn col in _table.Columns)
{
item.Add(col.ColumnName, (Convert.IsDBNull(row[col]) ? null : row[col]));
}
lst.Add(item);
}
return Newtonsoft.Json.JsonConvert.SerializeObject(lst);
Вот результаты:
"[{\"NoInvoices\":2,\"InvoiceTotals\":null,\"NoPayments\":0,\"PaymentTotals\":null}]"
Я хотел бы, чтобы результаты возвращались следующим образом:
[{"NoInvoices": 2, "InvoiceTotals": null, "NoPayments": 0, "PaymentTotals": null}]
Я вызываю API с кодом ниже
$.ajax({
url:"/api/InvoiceTotal/?dateRange=" + $('#dateFilterBy').val(),
dataType: 'json',
success: function (data) {
//handle the json response
console.log(data);
},
});