如何将对象转换为JSON没有JSON.网络图书馆

本文关键字:JSON 没有 网络 图书馆 转换 对象 | 更新日期: 2023-09-27 18:06:19

我想保存这个对象:

Student s = new Student();

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

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

任何想法?

如何将对象转换为JSON没有JSON.网络图书馆

步骤1:Google "System.Runtime.Serialization "。Json命名空间"并找到该页:

System.Runtime.Serialization。Json名称空间

步骤2:单击您感兴趣的类(假设为JsonReaderWriterFactory class)

步骤3:读取类所在程序集的部分:

程序集:System.Runtime.Serialization (inSystem.Runtime.Serialization.dll)

步骤4:添加DLL作为对项目的引用。参见:如何:使用"添加引用"对话框添加或删除引用

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

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

安装JSON。. NET

确保包含using Newtonsoft.Json;

,你可以试试下面的代码:

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

对不起,我的英语不好。

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

如果您正在使用visual studio,请阅读如何:在visual studio中添加或删除引用。

你可以用:

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

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

提示:如果你想使用一个。net类,并且你不确定你需要在你的项目中添加什么引用才能使用它,打开这个类的MSDN页面,寻找像这样的文本:

Assembly: System.Runtime.Serialization(在System.Runtime.Serialization.dll中)

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

其他答案都是正确的,因为您需要向适当的程序集添加引用。作为一种管理个人项目引用的简单方法,我推荐NuGet,它是Visual Studio的包管理器。值得庆幸的是,NuGet是Visual Studio 2012自带的,所以你只需要右键单击项目,点击"Manage NuGet packages",然后搜索Json.NET。我找到的第一篇关于在Visual Studio 2012中使用NuGet的博客文章在这里,它似乎给出了一组很好的说明,并附有截图。

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

  • System.Runtime.Serialization。Json在System.Runtime.Serialization
  • 包含。脚本在System.Web.Extensions
  • 系统。Json只适用于Silverlight