用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#中的数组或等效的东西,以便我可以使用它。

有什么想法吗?

用c#反序列化JSON(从PHP页面接收)

使用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)

你可以使用字符将数组分割成你需要的类型,这就是我经常做的。