0

我想反序列化从网页接收到的 json 字符串

我正在使用此代码来获取 json 字符串

WebClient client = new WebClient();
string downloadString = client.DownloadString("http://www.downmasters.com/api.php");

但我不确定如何将字符串转换为数组或 C# 中的等价物,以便我可以使用它。

请问有什么想法吗?

4

3 回答 3

1

使用DataContractJsonSerializer类。

将对象序列化为 JavaScript 对象表示法 (JSON) 并将 JSON 数据反序列化为对象。这个类不能被继承。

您将需要创建一些对象以对其进行序列化和反序列化,并使用不同的DataContract属性对其进行注释。

于 2013-03-30T20:37:54.187 回答
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 是一个不错的选择。

于 2013-03-30T20:38:49.820 回答
0

为什么不简单地尝试 .Split(char[], stringsplitter.none)

您可以使用字符将数组拆分为所需的类型,这就是我一直这样做的方式。

于 2013-06-04T17:36:39.603 回答