c# - 将 Json 反序列化为类

标签 c# json visual-studio visual-c++

如果我有一个JSON文件

{
     "firstName": "John",
     "lastName": "Smith",
     "age": 25,
     "address":
     {
         "streetAddress": "21 2nd Street",
         "city": "New York",
         "state": "NY",
         "postalCode": "10021"
     },
     "phoneNumber":
     [
         {
           "type": "home",
           "number": "212 555-1234"
         },
         {
           "type": "fax",
           "number": "646 555-4567"
         }
     ]
 }

, 我想使用序列化程序。 我知道我需要创建一个适合 JSON 类别的类。

所以我创建了这个:

class Person
{

    public String firstName;
    public String lastName;
    public String age;
    public class address
    {
        public String streetAddress;
        public String city;
        public String state;
        public String postalCode;
    }
    public class phoneNumber
    {
        public String type;
        public String number;
    }

}

它适用于年龄和姓名,但不适用于地址和电话号码(我不知道如何在类文件中创建它们)。 我希望你能帮助我。

最佳答案

通过http://json2csharp.com/

public class Address
{
    public string streetAddress { get; set; }
    public string city { get; set; }
    public string state { get; set; }
    public string postalCode { get; set; }
}

public class PhoneNumber
{
    public string type { get; set; }
    public string number { get; set; }
}

public class Person
{
    public string firstName { get; set; }
    public string lastName { get; set; }
    public int age { get; set; }
    public Address address { get; set; }
    public List<PhoneNumber> phoneNumber { get; set; }
}

关于c# - 将 Json 反序列化为类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40155997/

相关文章:

c# - 读取sql cel,查找行ID并更新同一行中的单元格

c# - WPF 或 Windows 窗体

c# - 一起使用 InProc 和 Azure AppFabric 缓存

java - 防止 Jackson @JsonIgnore 引入重复

javascript - 遍历 node.js 中的 json 文件

visual-studio - 将 SSRS 从 2016 年降级至 2008 年

c# - 将 Dictionary<int, Enumerable> 转换为 Dictionary<int, Enumerable> 反转内容

javascript - 如何从带有单引号和大括号的 Web 服务接收的 JSON 对象中提取数据?

c++ - 不能使用来自另一个文件的类 (c++)

visual-studio-2010 - Visual Studio 2012 调试测试键盘快捷键