2017-08-22 2 views
0

Ich habe eine Klasse, von der ich Objekte mit Json.net zu JSON serialisiere. Die Klasse hat eine Eigenschaft, die ich normalerweise nicht serialisieren wollte, also habe ich sie mit JsonIgnore markiert.Serialisierung von Objekten zu JSON - Serialisierung von dynamischen Eigenschaften

public class SomeClass 
{ 
    [JsonIgnore] 
    public int ID { get; set; } 
    public int SecondID { get; set; } 
    public string Name { get; set; } 
} 

nun in einem anderen Kontext mag ich Objekte derselben Klasse exportieren, aber hier ich mag auch die ID exportieren (die ich markiert habe im ersten Kontext ignoriert werden).

Ist es möglich, eine zu ignorierende Eigenschaft vor dem Serialisieren zu JSON dynamisch zu kennzeichnen, oder muss ich einen benutzerdefinierten Serializer schreiben, um dies zu erreichen?

Wie kann ich das gewünschte Verhalten auf die einfachste Weise erreichen?

Antwort

0

Hier finden Sie eine Liste von Eigenschaften machen Sie ignorieren:

[JsonIgnore] 
    public List<Something> Somethings { get; set; } 

//Ignore by default 
    public List<Something> Somethings { get; set; } 

JsonConvert.SerializeObject(myObject, 
          Newtonsoft.Json.Formatting.None, 
          new JsonSerializerSettings { 
           NullValueHandling = NullValueHandling.Ignore 
          }); 
Verwandte Themen