我有课
它具有几个属性,可以说10。在这10个中,有3个填充了剩余的数据,其中7个是blank.ie空字符串“”使用此链接作为参考。我只想显示NON-NULL和NON-
EMPTY字符串属性。但是最终输出具有所有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”是用户实例。运气不好,我的意思是,所有10个属性都返回“ t”
{"userID":"vick187","ssn":"","empID":"","schemaAgencyName":"","givenName":"","familyName":"","password":"pwd1234",...}
如您所见,仅填充了用户ID和密码。但是我仍然显示ssn,empID等。我只想要用户名和密码。任何帮助,将不胜感激。
仅装饰属性[JsonProperty(NullValueHandling = NullValueHandling.Ignore)]
应做您想要的。除非将属性设置为空字符串。
只是想知道,为什么需要DataMemeber属性?
这是工作中的dotnetfiddle的链接
using System;
using Newtonsoft.Json;
using System.ComponentModel;
public class Program
{
public static void Main()
{
var user = new User();
user.UserID = "1234";
user.ssn = "";
var settings = new JsonSerializerSettings();
settings.NullValueHandling = NullValueHandling.Ignore;
settings.DefaultValueHandling = DefaultValueHandling.Ignore;
Console.WriteLine(JsonConvert.SerializeObject(user, settings));
}
}
public class User
{
[DefaultValue("")]
public string UserID { get; set; }
[DefaultValue("")]
public string ssn { get; set; }
[DefaultValue("")]
public string empID { get; set; }
[DefaultValue("")]
public string schemaAgencyName { get; set; }
[DefaultValue("")]
public string givenName { get; set; }
[DefaultValue("")]
public string familyName { get; set; }
[DefaultValue("")]
public string password { get; set; }
}
问题内容: 我有一些具有各种属性的JSON,其中大多数是简单数据类型。但是,我在JSON中有一个属性,当我将其反序列化为C#类时,我只需要将其反序列化为字符串即可。 JSON示例: 除了将是有效的JSON对象外,“ json”对象没有任何设置结构。 因此,在上面的示例中,“ json”的值是一个JSON对象-但是当它反序列化时,我需要将它作为字符串。 因此,如果我的C#类是: 然后,如果我使用:
问题内容: 我想从python中的字符串列表中删除所有空字符串。 我的想法如下: 有没有更多的Python方式可以做到这一点? 问题答案: 我会用: Python 3从返回一个迭代器,因此应包装在对的调用中
问题内容: 我使用的框架会不时返回格式错误的字符串,其中包含“空”字符。 例如,“ foobar”表示为:[,f,o,o,b,a,r] 第一个字符不是空格(’‘),因此System.out.printlin()将返回“ foobar”而不是“ foobar”。但是,String的长度是7,而不是6。显然,这使大多数String方法(等于,拆分,子字符串等)变得无用。有没有办法从字符串中删除空字符?
问题内容: 您能告诉我如何从json对象中删除所有null和空字符串值吗?删除密钥时出现错误。 到目前为止,这是我所拥有的,但是不能正常工作: 问题答案: 您实际上是要删除。您需要使用数组访问符号: 但是,这也将删除value等于0的地方,因为您没有使用严格的比较。使用来代替: 但是,这只会使对象浅走。要深入地做,可以使用递归: 请注意,如果您愿意使用lodash / underscore.js之
问题内容: 我有这个JavaScript原型: 然后创建一个新对象: 如果我做: 结果是: 但我需要将对象的类型包含在JSON字符串中,如下所示: 有没有使用框架之类的方法来执行此操作的快速方法?还是我需要在类中实现一个方法并手动执行? 问题答案: 编辑: 将字符串化 所有类的 “属性”。如果只想保留其中一些,则可以这样分别指定:
问题内容: 如何删除JavaScript对象中或JavaScript对象中的所有属性? (问题与此数组类似) 问题答案: 您可以遍历对象: 如果您担心此属性删除不会使对象的proptype链运行起来,则还可以: 有关null与未定义的一些注意事项: