c# - propertyname - JavaScriptSerializer. Cómo ignorar la propiedad.
jsonproperty propertyname (3)
La mejor respuesta posible que tengo es hacer tu propio JavaScriptConverter y analizar la propiedad en función de tu (s) condición (es).
public override object Deserialize(IDictionary<string, object> dictionary, Type type, JavaScriptSerializer serializer)
{
//...
if (!object.ReferenceEquals(dictionary["MyProperty"],null)){
// My Code
}
//...
}
Sé sobre ScriptIgnoreAttribute
.
Pero qué pasa si quiero ignorar una propiedad basada en criterios. Por ejemplo, ¿cómo ignorar una propiedad anulable en la serialización solo si es nula y no contiene ningún valor?
Utilicé propiedades internas en lugar de públicas y funcionó para mí.
Utilice [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;
}