JSON-Kommentarbeispiel - Kommentieren in JSON-Dateien

Wenn Sie Probleme beim Hinzufügen von Kommentaren zu Ihrer JSON-Datei haben, gibt es einen guten Grund: JSON unterstützt keine Kommentare.

"Ich habe Kommentare aus JSON entfernt, weil ich gesehen habe, dass Leute sie zum Parsen von Direktiven verwenden, eine Praxis, die die Interoperabilität zerstört hätte", schreibt Douglas Crockford, der das textbasierte Datenformat populär machte.

Es gibt jedoch eine Problemumgehung. Und darum geht es in diesem Artikel: So fügen Sie Ihrer JSON-Datei Kommentare hinzu.

Daten als Kommentare hinzufügen

Eine Möglichkeit, das Problem mit den Kommentaren zu umgehen, besteht darin, Ihrer JSON-Datei Daten hinzuzufügen, die als Kommentare fungieren.

Lassen Sie uns ein Beispiel durchgehen, beginnend mit diesen Informationen in unserer JSON-Datei:

{ "sport": "basketball", "coach": "Joe Smith", "wins": 15, "losses": 5 } 

Fügen wir nun ein weiteres Schlüssel-Wert-Paar als Kommentar hinzu, das Sie in der ersten Zeile des folgenden Codes sehen können:

{ "_comment1": "this is my comment", "sport": "basketball", "coach": "Joe Smith", "wins": 15, "losses": 5 } 

Hier ist ein weiteres Beispiel. Dieses Mal verwenden wir zwei Unterstriche am Anfang und Ende des Schlüssels:

 "__comment2__": "this is another comment", 

Die Unterstriche helfen dabei, den Kommentar von den übrigen Daten in unserer Datei zu unterscheiden.

Ein Wort der Warnung

Es gibt ein wichtiges Detail zu beachten.

Die Kommentare, die wir unserer JSON-Datei hinzugefügt haben, sind im JSON-Objekt enthalten. Mit anderen Worten, die Kommentare werden als Daten behandelt.

Hier ist was wir meinen.

Dies ist der Code in unserer Datei data.json:

{ "_comment1": "this is my comment", "sport": "basketball", "coach": "Joe Smith", "wins": 15, "losses": 5 } 

Jetzt werden wir diese Daten aus der Datei lesen read_comments.py:

import json with open("data.json", mode="r") as j_object: data = json.load(j_object) print(data) 

Das Ergebnis enthält unseren Kommentar:

{'_comment1': 'this is my comment', 'sport': 'basketball', 'coach': 'Joe Smith', 'wins': 15, 'losses': 5} 

Wir können sogar die Bemerkung der Wert aus dem JSON - Objekt extrahieren: this is my comment:

import json with open("data.json", mode="r") as j_object: data = json.load(j_object) print(data["_comment1"]) 

Beachten Sie, dass der Kommentar nur ein Kommentar in den Augen des Entwicklers ist - nicht des Computers.

Eine andere Art von Kommentar

Diese JSON-Kommentierungspraxis unterscheidet sich von Kommentaren in Programmiersprachen wie Python, die normalerweise ignoriert werden, wenn das Programm ausgeführt wird.

# Here's my comment word = "house" for letter in word: print(letter) 

Wenn wir das obige Python-Programm ausführen, erhalten wir die Buchstaben im Wort "Haus". Aber wir sehen den Kommentar nicht. Es wird ignoriert.

Kommentaroptionen

JSMin ist eine weitere Option.

Es ist ein Tool, das zusätzliche Leerzeichen und Kommentare aus JavaScript-Dateien entfernt. Es funktioniert aber auch mit JSON-Dateien. JSMin entfernt Kommentare aus JSON-Dateien, bevor sie analysiert werden.

Es gibt also Optionen für das Kommentieren in JSON-Dateien. Obwohl es sich nicht um perfekte Lösungen handelt, gibt es zumindest Möglichkeiten, die benötigte Dokumentation bei Bedarf einzubeziehen.

Ich schreibe über das Programmierenlernen und die besten Methoden ( amymhaddad.com).