JSON lesen und schreiben, die moderne Art

Wie du es bisher gemacht hast
Finde eine Library für deine Programmiersprache. eine gute Bibliothek ist Gold wert, allerdings sind die meisten veraltet oder in deiner Sprache nicht verfügbar.
Schreibe deine eigene Bibliothek, was sehr viel Anstrengung bedeutet und muss stets aktualisiert werden wenn die API ändert. Du solltest dich allerdings auf deine App konzentrieren.
Lies die API Daten als dynamische, nicht typisierte Werte. Dies ist eine sehr unangenehme Art zu programmieren und macht deine App anfällig für API Änderungen
Wie du es mit quicktype machst
Generiere deine Library. Mit Beispiel API Daten generiert quicktype eine easy-to-use Library in der Sprache deiner App.
Nutze mehr Zeit für deiner App. quicktype kann Datentypen neu generieren denn die APIs ändern, so kannst du den betroffenen App Code einfach aktualisieren sofern nötig.
Greife mit Hilfe auf stark typisierte API Daten zu. Du bekommst mehr aus deiner IDE (Autocomplete, Refacoring) wenn du mit typisierte API Daten arbeitest.
Wie kannst du quicktype nutzen
Webapp
Die wohl einfachste Art ist die Webapp. Kopiere deine JSON Daten in das Textfeld und quicktype generiert automatisch deine Datenstrucktur. Anschliessend kannst du im Einstellungsmenü deine Sprache wählen und die für diese Sprache verfügbaren Einstellungen anpassen.
Terminal
Du kannst quicktype auch lokal auf deinem Computer installieren und offline nutzen. Installieren kannst du quicktype entweder durch npm oder Homebrew:
npm install -g quicktype
brew install quicktype
IDE Extension
Alternativ kannst du auch eine Extension für deine IDE installieren. Diese Extensions sind allerdings noch nicht ausgereift und die Funktionalität noch limitiert.
Funktionen pro Programmiersprache
Sprache | C# | C++ | Elm | Go | Java |
---|---|---|---|---|---|
Version | 5 / 6 | ||||
Density | Normal / Dense | ||||
Array | Array / List | Array / List | |||
Naming | Name Space | Name Space / Naming Style | Module Name | Package Name | Package Name |
Output | Complete / Attributes / Types | ||||
Plain types only | |||||
Detect maps | |||||
Detect enums | |||||
Merge similar classes |
Sprache | JSON Schema | Objective-C | Simple Types | Swift | TypeScript |
---|---|---|---|---|---|
Version | 4 / 4.1 | ||||
Density | Normal / Dense | ||||
Naming | Class Prefix | ||||
Output | Interface / Implementation | Class / Struct | |||
Extra comments | Declare unions as named types | Generate Convenience Initializers | Interfaces only | ||
C-Style Functions | Explicitly name unions | ||||
Don’t verify JSON.parse result at runtime | |||||
Plain types only | |||||
Detect maps | |||||
Detect enums | |||||
Merge similar classes |
SaveSave
SaveSave
SaveSave
Related
- 19. Februar 2018
-
Christian Seiler
- Programming
- Data Type, json, quicktype