如何在c#中只获取类的集合成员

本文关键字:集合 成员 获取 | 更新日期: 2023-09-27 17:50:55

我有一个这样的类:

public class Products
{

    public string name {get; set;}
    public string CustomName {get; set;}
}

然后我创建了这个:

Product product = new Product();
product.Name = "Apple";

然后使用JSON执行此操作。净

string json = JsonConvert.SerializeObject(product);

我想要发生的是,如果一个自定义名称没有设置像product.Customname = "CustomApple";不显示在JSON中,因为现在如果它没有设置它仍然显示为'CustomName': 'null',但如果它不是我不希望它显示在所有只显示设置属性,如产品。名称

我尝试将其更改为private,但无法再设置

 public class Products
    {

    public private name {get; set;}
    public private CustomName {get; set;}
}

我怎么能这么做?

如何在c#中只获取类的集合成员

尝试使用JsonSerializerSettings

     JsonConvert.SerializeObject(product, new JsonSerializerSettings
     {
         NullValueHandling = NullValueHandling.Ignore
     });

如果你只希望指定的变量在null时不显示,那么使用:

public class Products
{
    [JsonProperty(NullValueHandling=NullValueHandling.Ignore)]
    public string name {get; set;}
    [JsonProperty]
    public string CustomName {get; set;}
}