Wie man HttpClient Json-serializer zu ignorieren null-Werte

Derzeit arbeite ich mit einer Konsole app, die ich bin mit dem HttpClient zum interagieren mit einem Apache-CouchDB-Datenbank. Ich bin mit diesem Artikel: http://www.asp.net/web-api/overview/web-api-clients/calling-a-web-api-from-a-net-client

Möchte ich zu ignorieren, die null-Eigenschaften in meine Klasse, wenn ich mit der Serialisierung und senden eines Dokuments zu meiner Datenbank über die PostAsJsonSync aber ich bin mir nicht sicher, wie Sie Sie:

public static HttpResponseMessage InsertDocument(object doc, string name, string db)
    {
      HttpResponseMessage result;
      if (String.IsNullOrWhiteSpace(name)) result = clientSetup().PostAsJsonAsync(db, doc).Result;
      else result = clientSetup().PutAsJsonAsync(db + String.Format("/{0}", name), doc).Result;
      return result;
    }

    static HttpClient clientSetup()
    {
      HttpClientHandler handler = new HttpClientHandler();
      handler.Credentials = new NetworkCredential("**************", "**************");
      HttpClient client = new HttpClient(handler);
      client.BaseAddress = new Uri("*********************");
      //needed as otherwise returns plain text
      client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
      return client;
    }

Hier ist die Klasse die ich serialisieren....

class TestDocument
  {
    public string Schema { get; set; }
    public long Timestamp { get; set; }
    public int Count { get; set; }
    public string _rev { get; set; }
    public string _id { get; set; } - would like this to be ignored if null
  }

Jede Hilfe sehr geschätzt.

  • Hinter den kulissen, sind Sie wahrscheinlich mit Json.NET. stackoverflow.com/questions/9819640/...
  • Irgendeine Idee, wie auf der serializer es dann?
  • Sieht genau wie mein problem, wenn dabei setzen Dokumente zu CouchDB
InformationsquelleAutor James Mundy | 2013-03-02
Schreibe einen Kommentar