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