如何在C#中将对象保存为字符串
How to save object as string in c#
我有一个学生对象
Class Student
{
public Student()
{
name = "xyz";
roll = 20;
age = 16;
}
string name;
int roll;
int age;
}
Class Service
{
Student student = new Student();
string s = ???
// what I have to do for getting string like {"name" : "xyz", "roll" : 20, "age" :16}
}
我需要上述对象的字符串。
如果我序列化对象,我会得到一些带有转义序列的东西。
如有任何帮助,我们将不胜感激。
This is a simplified example, use Vsevolod Goloviznin answer. It is better.
只需使用 toString();
string s = stuident.toString();
在 class 中为 toString() 添加重载以获得漂亮的打印效果。我个人的偏好是输出 JSON.
Class Student
{
public Student()
{
name = "xyz";
roll = 20;
age = 16;
}
public override string toString(){
return "{name: " + name + ", roll: " + roll + ", age: " + age + "}";
}
string name;
int roll;
int age;
}
您的示例中的字符串是 JSON。您可以使用 http://www.newtonsoft.com/jsont
序列化:
字符串 s = JsonConvert.SerializeObject(学生);
看起来您真正想要的是将您的对象序列化为 JSON
。
这可以通过 JSON.NET 库轻松完成,如下所示:
Student student = new Student();
var s = JsonConvert.Serialize(student);
如果您在多个地方需要它,您可以创建一个扩展方法或覆盖 Student
class 的 ToString
方法:
public class Student
{
public override string ToString()
{
return JsonConvert.Serialize(this);
}
}
您似乎想将其序列化为 JSON,查看 http://www.newtonsoft.com/json 并使用它来调用 string s = JsonConvert.SerializeObject(student);
覆盖 Student 的 ToString() 方法 class
类似
public override string ToString()
{
return string.Format("Name: {0}, Roll: {1}, Age: {2}", name, roll, age);
}
您必须序列化您的对象。例如使用 JavaScriptSerializer:
string s = new JavaScriptSerializer().Serialize(student);
不要忘记使用
添加以下内容
using System.Web.Script.Serialization;
我有一个学生对象
Class Student
{
public Student()
{
name = "xyz";
roll = 20;
age = 16;
}
string name;
int roll;
int age;
}
Class Service
{
Student student = new Student();
string s = ???
// what I have to do for getting string like {"name" : "xyz", "roll" : 20, "age" :16}
}
我需要上述对象的字符串。
如果我序列化对象,我会得到一些带有转义序列的东西。
如有任何帮助,我们将不胜感激。
This is a simplified example, use Vsevolod Goloviznin answer. It is better.
只需使用 toString();
string s = stuident.toString();
在 class 中为 toString() 添加重载以获得漂亮的打印效果。我个人的偏好是输出 JSON.
Class Student
{
public Student()
{
name = "xyz";
roll = 20;
age = 16;
}
public override string toString(){
return "{name: " + name + ", roll: " + roll + ", age: " + age + "}";
}
string name;
int roll;
int age;
}
您的示例中的字符串是 JSON。您可以使用 http://www.newtonsoft.com/jsont 序列化: 字符串 s = JsonConvert.SerializeObject(学生);
看起来您真正想要的是将您的对象序列化为 JSON
。
这可以通过 JSON.NET 库轻松完成,如下所示:
Student student = new Student();
var s = JsonConvert.Serialize(student);
如果您在多个地方需要它,您可以创建一个扩展方法或覆盖 Student
class 的 ToString
方法:
public class Student
{
public override string ToString()
{
return JsonConvert.Serialize(this);
}
}
您似乎想将其序列化为 JSON,查看 http://www.newtonsoft.com/json 并使用它来调用 string s = JsonConvert.SerializeObject(student);
覆盖 Student 的 ToString() 方法 class
类似
public override string ToString()
{
return string.Format("Name: {0}, Roll: {1}, Age: {2}", name, roll, age);
}
您必须序列化您的对象。例如使用 JavaScriptSerializer:
string s = new JavaScriptSerializer().Serialize(student);
不要忘记使用
添加以下内容using System.Web.Script.Serialization;