Kann ich Kommentare innerhalb einer JSON-Datei verwenden? Wenn ja, wie?
Antworten
Zu viele Anzeigen?Nein.
Die JSON-Datei besteht nur aus Daten, und wenn Sie einen Kommentar hinzufügen, handelt es sich ebenfalls um Daten.
Sie könnten ein bestimmtes Datenelement namens "_comment"
(oder so ähnlich), die von Anwendungen, die die JSON-Daten verwenden, ignoriert werden sollten.
Es wäre wahrscheinlich besser, den Kommentar in den Prozessen zu haben, die das JSON generieren/empfangen, da sie wissen sollten, was die JSON-Daten im Voraus sein werden, oder zumindest die Struktur davon.
Aber wenn Sie sich dafür entscheiden:
{
"_comment": "comment text goes here...",
"glossary": {
"title": "example glossary",
"GlossDiv": {
"title": "S",
"GlossList": {
"GlossEntry": {
"ID": "SGML",
"SortAs": "SGML",
"GlossTerm": "Standard Generalized Markup Language",
"Acronym": "SGML",
"Abbrev": "ISO 8879:1986",
"GlossDef": {
"para": "A meta-markup language, used to create markup languages such as DocBook.",
"GlossSeeAlso": ["GML", "XML"]
},
"GlossSee": "markup"
}
}
}
}
}
Nein , Kommentare der Form //…
ou /*…*/
sind in JSON nicht erlaubt. Diese Antwort basiert auf:
- https://www.json.org
- RFC 4627 : Die
application/json
Medientyp für JavaScript Object Notation (JSON) - RFC 8259 Das Datenaustauschformat JavaScript Object Notation (JSON) (ersetzt die RFCs 4627, 7158, 7159)
Fügen Sie Kommentare ein, wenn Sie wollen; entfernen Sie sie vor dem Parsen oder Übertragen mit einem Minifier.
Ich habe gerade JSON.minify() die Kommentare und Leerzeichen aus einem JSON-Block entfernt und ihn zu gültigem JSON macht, das geparst werden kann. Sie könnten es also wie folgt verwenden:
JSON.parse(JSON.minify(my_str));
Als ich es veröffentlichte, erhielt ich eine große Anzahl von Leuten, die nicht einmal mit der Idee einverstanden waren, also beschloss ich, einen umfassenden Blogbeitrag darüber zu schreiben, warum Kommentare sind in JSON sinnvoll . Er enthält diesen bemerkenswerten Kommentar des Schöpfers von JSON:
Angenommen, Sie verwenden JSON, um Konfigurationsdateien zu speichern, die Sie mit Anmerkungen versehen möchten. Fügen Sie einfach alle Kommentare ein, die Sie möchten. Dann leiten Sie sie durch JSMin, bevor Sie sie an Ihren JSON-Parser weitergeben. - Douglas Crockford, 2012
Ich hoffe, das ist hilfreich für diejenigen, die nicht damit einverstanden sind, warum JSON.minify() nützlich sein könnte.
Kommentare wurden absichtlich aus JSON entfernt.
Ich habe Kommentare aus JSON entfernt, weil ich gesehen habe, dass die Leute sie benutzen, um Parsing-Direktiven festzuhalten, eine Praxis, die die Interoperabilität zerstört hätte. Ich weiß, dass das Fehlen von Kommentaren einige Leute traurig macht, aber das sollte es nicht.
Angenommen, Sie verwenden JSON, um Konfigurationsdateien zu speichern, die Sie mit Anmerkungen versehen möchten. Fügen Sie einfach alle Kommentare ein, die Sie möchten. Dann leiten Sie sie durch JSMin, bevor Sie sie an Ihren JSON-Parser weitergeben.
JSON unterstützt keine Kommentare. Es war auch nie dafür gedacht, für Konfigurationsdateien verwendet zu werden, in denen Kommentare erforderlich wären.
Hjson ist ein Konfigurationsdateiformat für Menschen. Entspannte Syntax, weniger Fehler, mehr Kommentare.
Siehe hjson.github.io für JavaScript, Java, Python, PHP, Rust, Go, Ruby, C++ und C# Bibliotheken.
- See previous answers
- Weitere Antworten anzeigen