如何在C#中使用System.Web.Script.Serialization?

16
我该如何在C#现代UI中实现这个?
var url = "http://ajax.googleapis.com/ajax/services/feed/load?q=http%3A%2F%2Fwww.digg.com%2Frss%2Findex.xml&v=1.0";
var wc = new WebClient();
var rawFeedData = wc.DownloadString(url);

//You can use System.Web.Script.Serialization if you don't want to use Json.NET
JavaScriptSerializer ser = new JavaScriptSerializer();
FeedApiResult foo = ser.Deserialize<FeedApiResult>(rawFeedData);

//Json.NET also return you the same strong typed object     
var apiResult = JsonConvert.DeserializeObject<FeedApiResult>(rawFeedData);

当我使用WebClient和System.Web.Script.Serialization时,出现了错误。


  1. 找不到类型或命名空间名称“WebClient”。
  2. 找不到类型或命名空间名称“JavaScriptSerializer”。
- tovaz
1
可能是重复的问题:如何在ClassLibrary中引用JSON序列化? - RajeshKdev
相关帖子在此处 - RBT
2个回答

64

我找到了如何让它起作用。
我不知道他们为什么要搞这样的麻烦,我甚至不理解为什么,但是这里有解决方案: 右键单击项目并添加对以下内容的引用:

System.Web.Extensions

然后您可以使用以下方式添加所需的引用:

using System.Web.Script.Serialization;

这一次它会起作用(至少在.NET framework 3.5上是这样做的)。


3
也适用于4.0版本。 - Mikey G

5

我在 System.Web.Extensions 中发现了 System.Web.Script.Serialization。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接