Codable

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Ich muss Geldbeträge in ein JSON schreiben und lesen.
    Dazu habe ich mir eine Reihe Structs geschrieben und das klappt auch wie gewünscht.
    Die Beträge liegen bei mir alsInt vor, das JSON Schema sagt:

    C-Quellcode

    1. "amount": {
    2. "type": "number",
    3. "minimum": -9999999999.99,
    4. "maximum": 9999999999.99,
    5. "multipleOf": 0.01
    6. },
    Also muss ich den Intwert passend formatieren. Das kann ich entweder beim decodieren und encodieren machen oder mit Gettern und Settern. Viiiel Schreibarbeit.
    Fällt euch was besseres ein? Ich hab schon mit ner Class Amount experimentiert oder mit Extensions von Int, alles nicht befriedigend
    Was tun?
    Man macht einfach solange irgendwelche Dinge, bis man tot ist.
    Und dann bekommen die anderen Kuchen.
  • Automagisches Konvertieren ist meines Wissens nicht möglich.

    Wie dem auch sei, ich würde definieren, dass "das Internet" nur "irgend ein I/O Device" und damit per se "unsicher" ist und entsprechend zu Deinen existierenden Structs Importer mit Data Transfer Structs schreiben.
    Dann musst Du nur die Fremd-JSON lesen, in den Importer werfen und daraus Deinen eigenen Datentypen generieren, persistieren etc. Und vice versa.

    Ja, ist viel Arbeit. Aber sinnvoll.

    Nachtrag:
    Ich nutze für so Finanzzeugs gerade Money (MIT License). Das hantiert hübsch mit Decimal und ist damit in Bezug auf Grundrechnen relativ sicher, gleichzeitig aber bequemer und flexibler als Ganzzahlen hin und her zu schieben.
    «Applejack» "Don't you use your fancy mathematics to muddle the issue!"

    Iä-86! Iä-64! Awavauatsh fthagn!

    kmr schrieb:

    Ach, Du bist auch so ein leichtgläubiger Zeitgenosse, der alles glaubt, was irgendwelche Typen vor sich hin brabbeln. :-P

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Marco Feltmann ()