我想反序列化从网页收到的json字符串
我正在使用此代码来获取json字符串
WebClient client = new WebClient();
string downloadString = client.DownloadString("http://www.downmasters.com/api.php");
但我不确定如何将字符串转换为数组或C#中的等效字符,以便我可以使用它。
有什么想法吗?
答案 0 :(得分:1)
使用DataContractJsonSerializer
类。
将对象序列化为JavaScript Object Notation(JSON)并将JSON数据反序列化为对象。这个类不能被继承。
您需要使用不同的DataContract
attributes创建一些要对其进行序列化和反序列化并对其进行注释的对象。
答案 1 :(得分:1)
您可以使用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是一个很好的选择。
答案 2 :(得分:0)
为什么不简单地尝试.Split(char [],stringsplitter.none)
你可以使用字符将数组拆分成你需要的类型,这就是我一直这样做的。