如何将Web API JSON响应转换为数据表?

时间:2013-06-11 16:49:46

标签: c# xml json asp.net-web-api

我有一个网络API,如果我转到一个有效的链接,它将显示一个XML。

但是,在我的其他应用程序中,当我打电话时:

using (var webclient = new WebClient())
{
    var doc = webclient.DownloadString(url);
}

它正在返回JSON数据。

如何将此JSON转换为数据表?或者,我应该“反序列化”这个JSON,以便它成为一个XML,然后我可以使用XML来将它转换为数据表吗?

1 个答案:

答案 0 :(得分:4)

您可以直接使用json.NET直接转到DataTable,但我建议反序列化为其他对象,除非您有充分的理由使用DataTable,例如,如果json实际上是DateTable的结构{1}}这不是很正常。 Json通常与本机对象密切相关,一般而言,这是对其进行建模的最佳方式。

您可以使用此方法将其直接反序列化为DataTable;

   DateTable myDataTable = JsonConvert.DeserializeObject<DataTable>(json);

如果您选择转到本机对象路径,您可以像在其他任何地方一样定义C#中的对象(它们需要与json中的对象完全匹配的属性),然后调用相同的方法,除非我有{{1你会改用你的类型。