我想反序列化从网页接收到的 json 字符串
我正在使用此代码来获取 json 字符串
WebClient client = new WebClient();
string downloadString = client.DownloadString("http://www.downmasters.com/api.php");
但我不确定如何将字符串转换为数组或 C# 中的等价物,以便我可以使用它。
请问有什么想法吗?
使用DataContractJsonSerializer
类。
将对象序列化为 JavaScript 对象表示法 (JSON) 并将 JSON 数据反序列化为对象。这个类不能被继承。
您将需要创建一些对象以对其进行序列化和反序列化,并使用不同的DataContract
属性对其进行注释。
您可以使用JSON.net来执行此操作,这是一个使用 WebClient 的示例,就像您目前一样。
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
WebClient client = new WebClient();
string downloadString = client.DownloadString("http://www.downmasters.com/api.php");
var data = JsonConvert.DeserializeObject(downloadString );
我最近刚刚完成了一个使用 ASP.NET MVC 4.0 的 Web 应用程序,但在WebClient
使用HttpWebRequest
. 也就是说,如果您所做的只是使用 DownloadString 方法,那么 WebClient 是一个不错的选择。
为什么不简单地尝试 .Split(char[], stringsplitter.none)
您可以使用字符将数组拆分为所需的类型,这就是我一直这样做的方式。