为什么JSON需要所有这些?
本文关键字:所有这些 JSON 为什么 | 更新日期: 2023-09-27 18:18:34
我正在学习JSON,我已经得到它的工作,但我想知道为什么它的工作原理和它是如何工作的。我很困惑为什么需要一些行,以及它们是做什么的。
下面是我的主要cs和我的Person
类:我的印象是我让JSONstring
等于JSON.json的内容。如果是这样的话,为什么我不能只把Writeline JSONstring
加上'n
在里面分开行呢?
从我收集的是Console.WriteLine(p1);
输出p1
等于反序列化的JSON。我不太确定为什么需要其他代码。
// Make JSONstring = to the text in JSON.json
String JSONstring = File.ReadAllText("JSON.json");
JavaScriptSerializer ser = new JavaScriptSerializer();
Person p1 = ser.Deserialize<Person>(JSONstring);
Console.WriteLine(p1);
Console.ReadLine();
class Person
{
public string name { get; set; }
public int age { get; set; }
public override string ToString()
{
return string.Format("Name: {0} 'nAge: {1}", name, age);
}
}
Console.WriteLine(p1)
没有显示JSON。实际上,它在p1
上调用ToString()
方法:
return string.Format("Name: {0} 'nAge: {1}", name, age);
并将结果输出到控制台。ToString()
可以返回任何你想要的。
关于你最初的问题,这种序列化的目的是将对象的状态保存为基于文本的、人类可读的形式,然后创建具有相同状态的对象。ToString
方法与此没有太大关系,只是为您提供了一种查看状态的方便方法。
在您的示例中,"state"是成员变量name
和age
的值。