【发布时间】:2018-07-23 06:11:21
【问题描述】:
我有一个非常简单的数据表,我使用 Newtonsoft 将其序列化为 JSON
DataTable dt = DBHelper.GetDataTable(value.Sql);
string json = JsonConvert.SerializeObject(dt, Formatting.None);
return json;
这是结果
"[{\"IdUsuario\":\"37\",\"IdEmpresa\":\"3\",\"Usuario\":\"koala\",\"NombreUsuario\":\" \",\"IdTercero\":\"715\",\"nit\":\"71790599\",\"Bloqueado\":\"0\",\"描述\":\"\", \"IdDependencia\":\"\",\"IdBodega\":\"5\"}]"
我不知道为什么我在字段名称中有额外的“\”,这只发生在这个项目(WebApi)中。如果我从 Windows 窗体测试应用程序做同样的事情,我有“正常”的 json。
【问题讨论】:
-
几乎可以肯定,因为您正在对 JSON 进行双重序列化,如 JSON.NET Parser seems to be double serializing my objects 中所述。
-
原来如此,直接返回数据表进行序列化。谢谢
标签: c# json serialization datatable json.net