【发布时间】:2020-05-23 16:36:51
【问题描述】:
我一直在研究如何将数据表序列化为 json 字符串。下面的代码有效并显示在我的 API 中,但带有反斜杠。我做了一些研究并且知道斜线正在发生,因为我将数据序列化了两次。我不知道如何解决这个问题。我正在使用 MVC 并通过 jquery 调用 api。
这是创建 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}]"
我希望结果返回如下:
[ { “无发票”:2, “发票总额”:空, “无付款”:0, “支付总额”:空 } ]
我用下面的代码调用 API
$.ajax({
url:"/api/InvoiceTotal/?dateRange=" + $('#dateFilterBy').val(),
dataType: 'json',
success: function (data) {
//handle the json response
console.log(data);
},
});
【问题讨论】:
-
“带有双反斜杠” - 我没有看到。
-
你在哪里 JSON.parse 字符串?
-
我在调用 API 的地方添加了代码
-
@SteveWolfe 可能与此 stackoverflow.com/questions/13833900/… 重复,否则可能会解决您的问题。
-
我不确定你是否调用 JSON.parse()...
标签: jquery json model-view-controller