我有课。它有几个属性,假设有 10 个。在这 10 个属性中,3 个填充了数据,其余 7 个为空白。即空字符串 "" 使用了这个link https://stackoverflow.com/questions/15574506/how-to-remove-null-value-in-json-string作为参考。我只想显示非空和非空字符串属性。但最终输出具有全部 10 个属性。我只想看3.
namespace Mynamespace.ValueObjects
{
[DataContract]
public class User
{
[DataMember(Name ="userID", IsRequired = false,EmitDefaultValue = false)]
public string userID { get; set; }
[DataMember(Name ="ssn", IsRequired = false,EmitDefaultValue = false)]
public string ssn { get; set; }
[DataMember(Name ="empID", IsRequired = false,EmitDefaultValue = false)]
public string empID { get; set; }
[DataMember(Name ="schemaAgencyName", IsRequired = false,EmitDefaultValue = false)]
public string schemaAgencyName { get; set; }
[DataMember(Name ="givenName", IsRequired = false,EmitDefaultValue = false)]
public string givenName { get; set; }
[DataMember(Name ="familyName", IsRequired = false,EmitDefaultValue = false)]
public string familyName { get; set; }
[DataMember(Name ="password", IsRequired = false,EmitDefaultValue = false)]
public string password { get; set; }
....
}
}
我也尝试过
[JsonProperty(NullValueHandling = NullValueHandling.Ignore)]
也作为属性。没有运气。我也这样做过
var t = JsonConvert.SerializeObject(usr, Newtonsoft.Json.Formatting.None,
new JsonSerializerSettings
{NullValueHandling = NullValueHandling.Ignore});
其中“usr”是用户实例。我的意思是,“t”带着所有 10 个属性返回
{"userID":"vick187","ssn":"","empID":"","schemaAgencyName":"","givenName":"","familyName":"","password":"pwd1234",...}
正如您所看到的,仅填充了用户 ID 和密码。但我的 ssn、empID 等仍然出现。我只想要用户名和密码。任何帮助,将不胜感激。