2013-11-21 2 views
1

Я использую Json.net для преобразования объекта в json, и я использую параметр DefaultValueHandling в Json.net, чтобы удалить свойство со значением по умолчанию. Я сделал это легко для примитивных типов, таких как int, string, bool и т. Д., Но он не знает, как использовать DefaultValueHandling для свойства объекта типа или определенного пользователем типа.Как использовать DefaultValueAttribute для свойства объекта типа или MyType?

Пожалуйста, помогите мне решить эту проблему,

Пример Для примитивных типов я сделал как этот

[JsonProperty("allowPaging")] 
[DefaultValue(false)] 
public bool AllowPaging 
{ 
    get { return this.allowPaging; } 
    set { this.allowPaging = value; } 
} 

Как сделать это за свойство типов объектов,

[JsonProperty("data")] 
public object Data 
{ 
    get { return this.data; } 
    set { this.data= value; } 
} 
+0

Следующая ссылка, обсуждая об этом. попробуйте это [ссылка] [1]. [1]: http://stackoverflow.com/questions/1387755/can-javascriptserializer-exclude-properties-with-null-default-values ​​ –

ответ

0

Для объекта значение по умолчанию равно null. Итак, почему вы хотите удалить его, если поведение не изменится? Этот атрибут работает только для типов значений и примитивов

+0

На самом деле в моей JSON я получаю пустой объект как ' data: {} 'его неудобно выглядит, поэтому я попытался его удалить. – Madhu

0

Эта же концепция обсуждается и отвечает следующим образом. Пожалуйста, посмотрите. link

Смежные вопросы