如何在没有JSON.NET库的情况下将对象转换为JSON?

gki*_*iko 7 c# serialization json

我想保存这个对象:

Student s = new Student();
Run Code Online (Sandbox Code Playgroud)

到Json文件.但Visual Studio 2012找不到这些名称空间:

System.Web.Script;
System.Json;
System.Runtime.Serialization.Json;
Run Code Online (Sandbox Code Playgroud)

任何的想法?

Jil*_*rta 8

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

如果你还没有安装JSON.NET.

一定要包括 using Newtonsoft.Json;

你可以试试这段代码:

Student s = new Student();
string json = JsonConvert.SerializeObject(s);
Run Code Online (Sandbox Code Playgroud)

对不起,我的英语不好.

  • 这个答案完全不是OP想要的,并且会创建点击诱饵欺骗搜索结果。 (5认同)

p.s*_*w.g 5

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

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

然后您可以将其用于:

DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(Student));
ser.WriteObject(outputStream, student);
Run Code Online (Sandbox Code Playgroud)

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

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

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

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


Chr*_*ter 5

第 1 步:谷歌“System.Runtime.Serialization.Json Namespace”并找到这个页面:

System.Runtime.Serialization.Json 命名空间

第 2 步:单击您感兴趣的类(假设JsonReaderWriterFactory Class

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

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

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

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