So erhalten Sie den HttpClient Json-Serializer, um Nullwerte zu ignorieren

7

Ich arbeite gerade mit einer Konsolen-App, die den HttpClient benutzt, um mit einer Apache CouchDB Datenbank zu interagieren. Ich verwende diesen Artikel: Ссылка

Ich möchte die Null-Eigenschaften in meiner Klasse ignorieren, wenn ich ein Dokument serversiere und ein Dokument über die PostAsJsonSync an meine Datenbank sende, aber ich bin mir nicht sicher, wie:

%Vor%

Hier ist die Klasse, die ich serialisiere ....

%Vor%

Jede Hilfe sehr geschätzt.

    
James Mundy 02.03.2013, 20:24
quelle

4 Antworten

11

Angenommen, Sie verwenden Json.NET zum Serialisieren Ihres Objekts, sollten Sie die NullValueHandling-Eigenschaft des JsonProperty-Attributs

verwenden %Vor%

Sehen Sie sich diese großartige Artikel und die Onlinehilfe für weitere Details

    
Julien Jacobs 02.03.2013, 20:43
quelle
11

Wenn Sie dieses Verhalten für alle Eigenschaften aller Klassen benötigen, die Sie senden werden (was genau der Fall ist, der mich zu dieser Frage geführt hat), denke ich, dass dies sauberer wäre:

%Vor%

Auf diese Weise müssen Sie Ihren Klassen keine Attribute hinzufügen, und Sie müssen noch nicht alle Werte manuell serialisieren.

    
HellBrick 15.04.2014 08:04
quelle
3

Ich bin mir nicht sicher, ob du das mit dem PutAsJsonAsync machen kannst, wie du es gerade hast. Json.NET kann dies jedoch tun, wenn Sie in der Lage sind, es zu verwenden, und ein NuGet-Paket existiert wenn es hilft. Wenn Sie es verwenden können, würde ich die Funktion InsertDocument so umschreiben:

%Vor%     
Steven V 02.03.2013 20:44
quelle
3

verwenden Sie HttpClient.PostAsync

%Vor%     
user3689695 30.05.2014 01:42
quelle

Tags und Links