为什么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);
    }
}

为什么JSON需要所有这些?

Console.WriteLine(p1)

没有显示JSON。实际上,它在p1上调用ToString()方法:

return string.Format("Name: {0} 'nAge: {1}", name, age);

并将结果输出到控制台。ToString()可以返回任何你想要的。

关于你最初的问题,这种序列化的目的是将对象的状态保存为基于文本的、人类可读的形式,然后创建具有相同状态的对象。ToString方法与此没有太大关系,只是为您提供了一种查看状态的方便方法。

在您的示例中,"state"是成员变量nameage的值。