2016-05-26 10 views
1

[JsonProperty]属性を使用して空の文字列を変換するか、空白で埋めてnullに変換できますか?Json.NET - EmptyOrWhiteSpace文字列プロパティをnullに変換する

ような何か:

public class Request 
{ 
    [JsonProperty(NullOrWhiteSpaceValueHandling)] 
    public string Description {get;set;} 
} 

レンダリング時にヌルがスキップされていると同じように。 このプロパティが "空"の場合、値は設定されません。

+0

デフォルトの 'string'は' null'です。 'NullValueHandling = NullValueHandling.Ignore' http://www.newtonsoft.com/json/help/html/T_Newtonsoft_Json_NullValueHandling.htm –

+0

@DavidPine空文字列、または空白文字列は' null'文字列と同じではありません... –

+0

@ RB。私は、「ヌル」のためにそれをする方法を分かち合おうとしていたことは分かっています。まだ空白処理を探しています。 –

答えて

3

カスタムJsonConverterを実装し、それを属性のTrimmingConverterプロパティに割り当てる必要があります。顧客TrimmingConverter詳細hereを書く例がありました。これに類似したものが実装されたら、NullValueHandlingItemConverterTypeの両方のプロパティを設定できるはずです。これにより、コンバーターが文字列をトリミングすることが保証され、ヌルまたは空白または空白の場合はシリアル化のために無視されます。

public class Request 
{ 
    [ 
     JsonProperty(NullValueHandling = NullValueHandling.Ignore, 
        ItemConverterType = typeof(TrimmingConverter)) 
    ] 
    public string Description { get; set; } 
} 

ここにはJsonPropertyの公式ドキュメントがあります。

関連する問題