Wie transformiert man Felder während der Serialisierung mit Serde?

8

Wie kann ich vor der Serialisierung eine Transformation auf ein Feld anwenden?

Wie kann ich zum Beispiel sicherstellen, dass die Felder lat und lon in dieser Strukturdefinition auf maximal 6 Dezimalstellen gerundet werden, bevor sie serialisiert werden?

%Vor%     
Synesso 08.09.2016, 06:21
quelle

1 Antwort

7

Sie können das Attribut serialize_with verwenden, um eine benutzerdefinierte Serialisierungsfunktion für Ihr Feld:

%Vor%

(Ich habe auf die nächste ganze Zahl gerundet, um das Thema zu vermeiden "Was ist der beste Weg, um einen Float auf k Dezimalstellen zu runden").

Der andere semi-manuelle Ansatz besteht darin, eine separate Struktur mit automatisch abgeleiteter Serialisierung zu erstellen und Ihre Serialisierung mit der folgenden Methode zu implementieren:

%Vor%     
krdln 08.09.2016, 12:11
quelle

Tags und Links