我有一个 Web API,如果我访问一个有效的链接,它将显示一个 XML。
但是,在我的其他应用程序中,当我调用时:
using (var webclient = new WebClient())
{
var doc = webclient.DownloadString(url);
}
它正在返回 JSON 数据。
如何将此 JSON 转换为数据表?或者,我是否应该“反序列化”这个 JSON 使其成为 XML,然后我可以使用 XML 将其转换为数据表?
我有一个 Web API,如果我访问一个有效的链接,它将显示一个 XML。
但是,在我的其他应用程序中,当我调用时:
using (var webclient = new WebClient())
{
var doc = webclient.DownloadString(url);
}
它正在返回 JSON 数据。
如何将此 JSON 转换为数据表?或者,我是否应该“反序列化”这个 JSON 使其成为 XML,然后我可以使用 XML 将其转换为数据表?
您可以直接DataTable
使用 json.NET,但我建议您反序列化为其他对象,除非您有充分的理由使用 a DataTable
,例如,如果 json 实际上是类似于 a 的结构DateTable
,这并不正常。Json 通常与原生对象密切相关,一般来说,这是对其进行建模的最佳方式。
您可以使用此方法将其直接反序列化为DataTable
;
DateTable myDataTable = JsonConvert.DeserializeObject<DataTable>(json);
如果您选择使用本机对象路线,您可以像其他任何方法一样在 C# 中定义对象(它们需要与 json 中的属性完全匹配的属性),然后调用相同的方法,除非我有DataTable
您将使用您的类型.