Beim Austausch digitaler Reinigungspläne kommt es darauf an, welche Daten eine Prüfung tatsächlich erhält. Ein doppelt vergebener Feldname kann schon beim Einlesen einer JSON-Datei Informationen verdrängen. Eine spätere Schema-Prüfung des entstandenen Objekts sieht dann unter Umständen nur den verbliebenen Wert. Der technische Fachbeitrag von Jonas Gebäudereinigung erklärt diesen Unterschied anhand eines ausdrücklich erfundenen Miniaturbeispiels.
Ein JSON-Objekt enthält benannte Einträge. Die Internetnorm RFC 8259 empfiehlt, Namen innerhalb eines Objekts eindeutig zu vergeben. Wiederholte Namen führen allerdings nicht bei jeder Umsetzung zum selben Ergebnis: Manche Programme behalten das letzte Paar, andere melden einen Fehler oder stellen sämtliche Paare bereit. „Einlesbar“ allein ist deshalb keine Aussage darüber, ob alle ursprünglich enthaltenen Angaben erhalten blieben.
Das Miniaturbeispiel lautet: {"turnus":"wöchentlich","turnus":"monatlich"}. Es zeigt zwei gleichnamige Einträge in demselben Objekt. Dies ist kein vollständiger Reinigungsplan und kein Datensatz aus dem Jonas-Schema. Der frei erfundene Feldname dient nur dazu, den Mechanismus sichtbar zu machen. Beide Werte stehen im ursprünglichen Text; welche Bedeutung Vorrang haben soll, ist damit nicht fachlich entschieden.
Der Standarddecoder der Python-json-Bibliothek behält bei solchen Wiederholungen das letzte Paar. Im eigenen synthetischen Versuch blieb deshalb „monatlich“ übrig. Nach Umkehrung der Paarreihenfolge blieb „wöchentlich“ übrig. Keine Kundenangabe wurde dabei verarbeitet. Das Ergebnis beschreibt diesen Decoder mit seiner Standardeinstellung und ist keine allgemeine Regel für alle JSON-Programme. Die ursprüngliche doppelte Angabe lässt sich aus dem vereinfachten Ergebnis allein nicht wiederherstellen.
Hier beginnt die Grenze einer nachgeschalteten Schema-Prüfung. Das Datenmodell der Spezifikation JSON Schema 2020-12 stellt ein Objekt als Eigenschaftenmenge dar, in der zwei Eigenschaften mit demselben Namen nicht dargestellt werden können. Das Verhalten bei doppelten Namen im Ausgangsdokument ist dort nicht definiert. Prüft ein Werkzeug ausschließlich das entstandene Objekt, kann eine Regel den entfernten Eintrag nicht sehen. Ein integriertes Werkzeug kann den ursprünglichen Text zusätzlich prüfen; das muss man für den konkreten Importweg klären.
Python bietet mit object_pairs_hook einen Ansatzpunkt, um beim Decodieren die geordneten Paare eines Objekts zu verarbeiten. Eine eigene kleine Prüffunktion konnte im synthetischen Versuch die wiederholten Namen erkennen und den Import zurückweisen. Das war ein gesonderter Test beim Einlesen, keine Prüfung gegen das Jonas-Schema. Es wurde keine fertige Schutzfunktion für eine reale Kundenintegration nachgewiesen oder eingeführt.
Die Grenze gilt innerhalb eines Objekts. Derselbe Name darf in zwei verschiedenen Objekten jeweils einmal vorkommen, ohne dass damit die beschriebene Wiederholung vorliegt. Auch die Schreibweise ist zu beachten: Ein Name mit einer Escape-Darstellung kann nach dem Decodieren demselben Namen entsprechen wie eine direkt geschriebene Zeichenfolge. Bloßes Zählen sichtbarer Textstellen ersetzt daher keine Prüfung der decodierten Namen im jeweiligen Objekt.
Für Auftraggeber eines Datenimports lautet die konkrete Rückfrage: Werden wiederholte Namen vor einem möglichen Informationsverlust erkannt, und was geschieht dann? Eine Anzeige über erfolgreiches Schema-Prüfen beantwortet diese Frage nur, wenn der Importweg diese zusätzliche Kontrolle tatsächlich umfasst. Die Reihenfolge zweier Angaben entscheidet zudem nicht darüber, welcher Reinigungsturnus vereinbart ist.
Jonas Gebäudereinigung stellt bereits ein öffentliches Reinigungsplan-Datenschema und ein synthetisches Beispiel bereit. Der Beitrag beschreibt eine allgemeine Importfrage in diesem bestehenden Anwendungskontext. Er meldet weder eine neue Softwareversion noch einen beobachteten Jonas-Fehler oder eine umgesetzte Änderung.
Ressource: https://xn--jonas-gebudereinigung-e2b.de/ressourcen/reinigungsplan-datenschema/
Fachgrundlagen: RFC 8259, Abschnitte 4 und 8.3; Python-Dokumentation, json; JSON Schema 2020-12, Core, Abschnitt 4.2.
Quellen: https://www.rfc-editor.org/info/rfc8259/ · https://docs.python.org/3/library/json.html · https://json-schema.org/draft/2020-12/json-schema-core
Unternehmensautor: Jonas Gebäudereinigung. KI-gestützt erstellt und anhand der angegebenen Quellen geprüft; keine persönliche menschliche Expertenprüfung behauptet.
Pressekontakt: Presseassistenz für Jonas Gebäudereinigung
Alexanderstraße 101 B, 26121 Oldenburg, Deutschland
Telefon: +49 441 24923021
E-Mail: info@jonas-gebäudereinigung.de
