Ha problémái adódnak a megjegyzések hozzáadásával a JSON fájljához, jó oka van: a JSON nem támogatja a megjegyzéseket.
"Eltávolítottam a JSON-tól a megjegyzéseket, mert láttam, hogy az emberek értelmezési irányelvek megtartására használják őket, ez a gyakorlat megsemmisítette volna az interoperabilitást" - írja Douglas Crockford, aki népszerűsítette a szöveges adatformátumot.
Van azonban egy megoldás. És erről szól ez a cikk: hogyan adhatunk megjegyzéseket JSON fájljához.
Adatok hozzáadása megjegyzésként
A megjegyzéssel kapcsolatos kérdések körüljárásának módja az, hogy adatokat fűz a JSON fájljához, amelyek megjegyzésként működnek.
Nézzünk át egy példát, kezdve ezzel az információval a JSON fájlunkban:
{ "sport": "basketball", "coach": "Joe Smith", "wins": 15, "losses": 5 }
Most adjunk hozzá egy másik kulcs-érték párot, amely megjegyzésként szolgál, amelyet az alábbi kód első sorában láthat:
{ "_comment1": "this is my comment", "sport": "basketball", "coach": "Joe Smith", "wins": 15, "losses": 5 }
Itt van egy másik példa. Ezúttal két aláhúzást használunk a kulcs elején és végén:
"__comment2__": "this is another comment",
Az aláhúzások segítenek megkülönböztetni a megjegyzést a fájlunk többi adattól.
Óvatosan
Fontos szem előtt tartani egy fontos részletet.
A JSON fájlunkhoz adott megjegyzéseket a JSON objektum tartalmazza. Más szóval, a megjegyzéseket adatként kezeljük.
Ezt értjük.
Ez a kód a fájlunkban data.json
:
{ "_comment1": "this is my comment", "sport": "basketball", "coach": "Joe Smith", "wins": 15, "losses": 5 }
Most ki fogjuk olvasni ezeket az adatokat a fájlból read_comments.py
:
import json with open("data.json", mode="r") as j_object: data = json.load(j_object) print(data)
Az eredmény tartalmazza a megjegyzésünket:
{'_comment1': 'this is my comment', 'sport': 'basketball', 'coach': 'Joe Smith', 'wins': 15, 'losses': 5}
Még a komment értékét is kivonhatjuk a JSON objektumból this is my comment
:
import json with open("data.json", mode="r") as j_object: data = json.load(j_object) print(data["_comment1"])
Ne feledje, hogy a megjegyzés csak egy megjegyzés a fejlesztő szemében - nem a számítógép.
Más típusú megjegyzés
Ez a JSON kommentálási gyakorlat eltér a programozási nyelvek - például a Python - megjegyzéseitől, amelyeket általában a program futtatásakor figyelmen kívül hagynak.
# Here's my comment word = "house" for letter in word: print(letter)
Amikor a fenti Python programot futtatjuk, megkapjuk a betűket a „house” szóban. De nem látjuk a megjegyzést. Ezt figyelmen kívül hagyják.
Megjegyzésbeállítási lehetőségek
A JSMin egy másik megfontolandó lehetőség.
Ez egy olyan eszköz, amely eltávolítja az extra szóközt és a megjegyzéseket a JavaScript fájlokból. De a JSON fájlokon is működik. A JSMin eltávolítja a megjegyzéseket a JSON fájlokból, mielőtt azokat elemeznék.
Tehát vannak lehetőségek a JSON fájlokban történő kommentelésre. Bár ezek nem tökéletes megoldások, legalábbis van mód arra, hogy a szükséges dokumentációt belefoglalja, amikor szüksége van rá.
A programozás megtanulásáról és a legjobb módszerekről írok ( amymhaddad.com).