用c#反序列化JSON(从PHP页面接收)
本文关键字:PHP 反序列化 JSON | 更新日期: 2023-09-27 18:06:33
我想反序列化从网页收到的json字符串
我使用这个代码来获取json字符串
WebClient client = new WebClient();
string downloadString = client.DownloadString("http://www.downmasters.com/api.php");
但是我不确定如何将字符串转换为c#中的数组或等效的东西,以便我可以使用它。
有什么想法吗?
使用DataContractJsonSerializer
类
将对象序列化为JavaScript Object Notation (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完成了一个web应用程序。. NET MVC 4.0和我在使用WebClient
时遇到了一些限制,相反,我选择了HttpWebRequest
,这给了我更多的选择来微调我的请求。也就是说,如果你所做的只是使用DownloadString方法,那么WebClient是一个很好的选择。
为什么不直接尝试。split (char[], stringsplitter.none)
你可以使用字符将数组分割成你需要的类型,这就是我经常做的。