wie newtonsoft zu deserialisieren ja und nein zu boolean bekommen

9

HINWEIS: Ich habe die Lösung am Ende dieses Feeds bereitgestellt.

Ich habe eine C # Win 8 App, bei der ich ein JSon de-serialisiere, das so aussieht:

%Vor%

in eine Klasse, die diese Schnittstelle verwendet:

%Vor%

Aber Newtonsoft wirft einen Fehler:

  

Unerwartetes Zeichen beim Analysieren von Werten gefunden: n. Pfad   'Einheit [0] .isVerfügbar, Zeile 1, Position 42.

Gibt es eine Möglichkeit, Newtonsoft zu erweitern, um basierend auf dem resultierenden Objekteigenschaftstyp bool, ja / nein oder 1/0 zu analysieren? Im Moment funktioniert es nur für richtig / falsch.

Es gibt mehrere Beiträge zu benutzerdefinierten Konvertern für Klassen, aber keinen primitiven Typ wie bool.

Irgendwelche Vorschläge?

    
CodeChops 25.01.2013, 15:12
quelle

5 Antworten

2

// Das ist, was ich gefunden habe ...

%Vor%     
CodeChops 25.01.2013, 16:33
quelle
15
%Vor%     
Craig Stuntz 25.01.2013 15:26
quelle
6

Ich würde vorschlagen diesen Ansatz

%Vor%     
harishr 27.04.2015 10:15
quelle
1

Das ist, was mir eingefallen ist.

%Vor%

Verwendung:

%Vor%     
Pete 27.10.2016 23:30
quelle
0

Hier ist eine Version von @ Johns Lösung in vb für jeden, der das braucht. Es verarbeitet Boolean und nullable Boolean. Bei Schreiben wird es in 0/1 konvertiert, um einige Bytes bei der Übertragung zu speichern (anstatt wahr / falsch):

%Vor%     
Gary 24.01.2017 21:05
quelle