7

我想保存这个对象:

Student s = new Student();

到 Json 文件。但是 Visual Studio 2012 找不到这些命名空间:

System.Web.Script;
System.Json;
System.Runtime.Serialization.Json;

任何的想法?

4

5 回答 5

6

第 1 步:谷歌“System.Runtime.Serialization.Json 命名空间”并找到此页面:

System.Runtime.Serialization.Json 命名空间

第 2 步:单击您感兴趣的类(比如说JsonReaderWriterFactory 类

第 3 步:阅读说明该类所在的程序集的部分:

程序集:System.Runtime.Serialization(在 System.Runtime.Serialization.dll 中)

第 4 步:将该 DLL 添加为对项目的引用。请参阅:如何:使用“添加引用”对话框添加或删除引用

第 5 步:根据需要重复第 1 - 4 步。

于 2013-03-28T23:41:01.357 回答
6

如果你想将类序列化为 Json,你也可以试试这个:

如果您还没有安装 JSON.NET。

确保包括using Newtonsoft.Json;

你可以试试这个代码:

Student s = new Student();
string json = JsonConvert.SerializeObject(s);

对不起,我的英语不好。

于 2013-03-28T23:51:14.630 回答
3

确保将适当的引用添加到您的项目中。例如,要使用datacontractjsonserializer该类,您需要添加对System.Runtime.Serialization项目的引用。

如果您使用的是 Visual Studio,请阅读如何:在 Visual Studio 中添加或删除引用

然后,您可以将其用于:

DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(Student));
ser.WriteObject(outputStream, student);

当然还有很多其他的方法可以做到这一点,我不会详细介绍每一种(我相信你已经找到了一些例子,因为你列出了这些命名空间)。

提示:如果您想使用 .NET 类并且不确定需要向项目添加什么参考才能使用它,请打开该类的 MSDN 页面并查找如下文本:

程序集: System.Runtime.Serialization(在 System.Runtime.Serialization.dll 中)

这是您需要添加到项目中的程序集引用。

于 2013-03-28T23:38:49.427 回答
2

其他答案是正确的,说您需要添加对适当程序集的引用。作为管理个人项目引用的一种简单方法,我推荐NuGet,它是 Visual Studio 的包管理器。值得庆幸的是,NuGet 附带 Visual Studio 2012,因此您只需右键单击项目,单击“管理 NuGet 包”,然后搜索 Json.NET。我发现的第一篇关于在 Visual Studio 2012 中使用 NuGet 的博客文章在这里,它似乎提供了一组很好的说明,并附有屏幕截图。

于 2013-03-28T23:42:43.857 回答
0

您可能需要添加对项目的引用:

  • System.Runtime.Serialization.Json 在 System.Runtime.Serialization
  • System.Web.Script 在 System.Web.Extensions 中
  • System.Json 仅适用于 Silverlight
于 2013-03-28T23:39:56.097 回答