2015-10-02 5 views
0

Я блуждаю, если есть элегантный способ избежать сериализации свойства null value с помощью Json.net. Это link показывает два способа условной сериализации, но оба они не то, что я хочу. Первый метод близок к тому, что я хочу, но не удовлетворительно. Например, вы должны создать метод для каждого свойства (ShouldSerialize + 'property-name'()). Это не изящное решение, так как все методы должны быть общедоступными и доступны для видимых. Итак, если у вас 20 свойств, значит, у вас должно быть 20 методов или есть лучший способ? Лучшим решением будет один метод: OnSerialize (свойство объекта, значение объекта); который вызывается, когда свойства объекта будут сериализованы. Пожалуйста, помогите ...Условная сериализация свойств Json.net

ответ

0

Заканчивать пример показано Null Value Handling

Этот образец сериализует объект JSON с NullValueHandling установить в игнор, так что свойства со значением по умолчанию не включены в результате JSON.

string jsonIgnoreNullValues = JsonConvert.SerializeObject(person, Formatting.Indented, new JsonSerializerSettings 
{ 
    NullValueHandling = NullValueHandling.Ignore 
}); 
+0

Благодарим вас за ответ. Это достаточно хорошо для обработки свойств нулевого значения. Единственная проблема, с которой я сталкиваюсь с этой реализацией, - это вернуть строку вместо json-объекта. Я могу получить объект json с помощью метода JObject.Parse(). Большая помощь! – Arman

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