JavaScriptSerializer.如何忽视财产

iLe*_*ing 17 .net c# json javascriptserializer

我知道ScriptIgnoreAttribute.

但是,如果我想根据标准忽略属性,该怎么办?例如,如果序列化的nullable属性为null并且不包含任何值,那么如何忽略它?

akd*_*ora 28

https://msdn.microsoft.com/tr-tr/library/system.web.script.serialization.scriptignoreattribute(v=vs.110).aspx

使用[ScriptIgnore]

using System;
using System.Web.Script.Serialization;

public class Group
{
    // The JavaScriptSerializer ignores this field.
    [ScriptIgnore]
    public string Comment;

    // The JavaScriptSerializer serializes this field.
    public string GroupName;
}
Run Code Online (Sandbox Code Playgroud)

  • 他已经说过他知道[ScriptIgnore] (4认同)
  • 我没有对此表示赞同,因为虽然它帮助了我,但它并没有回答提出的问题。 (2认同)

Bra*_*tie 8

我有最好的答案是创建自己的JavaScriptConverter并根据自己的条件解析属性.

public override object Deserialize(IDictionary<string, object> dictionary, Type type, JavaScriptSerializer serializer)
{
  //...
  if (!object.ReferenceEquals(dictionary["MyProperty"],null)){
    // My Code
  }
  //...
}
Run Code Online (Sandbox Code Playgroud)