在newtonsoft

时间:2017-05-02 20:00:09

标签: c# json json.net

我跟随json来自服务器

{
 "contactList":[{

      "contactName":"Jhon",
      "address":null,
      "phone":null,
      "contactId":99932

}]

}

现在,当我使用JsonConvert.DeserializeObject<Response>(content)进行反序列化时,我想要跟随输出

{
     "contactList":[{

          "contactName":"Jhon",
          "contactId":99932

    }]

    }

我尝试了以下代码,但它无效

 JsonSerializerSettings jsonSettings = new JsonSerializerSettings
                    {
                        NullValueHandling = NullValueHandling.Ignore,
                        MissingMemberHandling = MissingMemberHandling.Ignore
                    };

这是我的联系模式

public class Contact 
    {
        [JsonProperty(NullValueHandling = NullValueHandling.Ignore)]
        public String address { set; get; }

       [JsonProperty(NullValueHandling = NullValueHandling.Ignore)]
         public String phone { set; get; }

        [JsonProperty(NullValueHandling = NullValueHandling.Ignore)]
         public String name { set; get; }

        [JsonProperty(NullValueHandling = NullValueHandling.Ignore)]
         public String id { set; get; }
  }

响应模型

     [JsonObject(MemberSerialization = MemberSerialization.OptIn)]
 public class Response 
    {
         [JsonProperty(NullValueHandling = NullValueHandling.Ignore)]
        public IList<SignodeMSA.Model.Master.Contact> contactsList { get; }
  }

我从服务器获取后反序列化

  Response responseData = await Task.Run(() => JsonConvert.DeserializeObject<Response>(content, jsonSettings));

1 个答案:

答案 0 :(得分:0)

我认为您需要从json string手动删除该属性。

也许是这样的:How do I remove all null and empty string values from a json object?