代码之家  ›  专栏  ›  技术社区  ›  C. Dodds

当类不使用JSON字符串提供的所有属性时,将JSON字符串转换为类

  •  1
  • C. Dodds  · 技术社区  · 6 年前

    我想知道如何解析下面的JSON字符串

    [
      {
         "id": 1,
         "name": "Johnny"
         "dob": "12/10/1986"
         "sex": "Male"
      },
      {
         "id": 2,
         "name": "Sarah"
         "dob": "3/7/1979"
         "sex": "Female"
      }
    ]
    

    我试图把它读到的类是一个类人列表,它只有变量名、dob和sex。有没有一种方法可以像处理类一样简单,如果类也包含ID,那么可以直接反序列化到列表中?

    我试着研究其他类似的问题,尽管没有一个问题似乎包括不需要JSON字符串中出现的一些属性的这一方面。

    2 回复  |  直到 6 年前
        1
  •  7
  •   Nkosi    6 年前

    您仍然可以反序列化到Person类。

    假设

    public class Person {
        public string name { get; set; }
        public string dob { get; set; }
        public string sex { get; set; }
    }
    

    它只会忽略 id 在JSON中进行脱粒。

    例如,使用 Newtonsoft.Json 包裹。

    var list = JsonConvert.DeserializeObject<List<Person>>(json);
    
        2
  •  0
  •   Test12345    6 年前

    如果要忽略该属性,可以对其使用[jsonignore]属性。