Wie kann ich "unsymmetrische Klammern" in meinem Daten-Tag reparieren?

Oft, wenn Sie eine Befehlsblock-Konformität machen, müssen Sie das Daten-Tag einer Entität festlegen. Diese Tags können manchmal sehr lang sein, mit vielen Schichten von verschachtelten lockigen und eckigen Klammern. Zum Beispiel ist dies der Befehl, einen Dorfbewohner mit einem einzigen Zoll zu beschwören:

/summon Villager ~ ~ ~ {Profession:3,Career:2,Offers:{Recipes:[{buy:{id:minecraft:diamond,Count:6b}},sell:{id:minecraft:diamond_hoe,tag:{ench:[{id:16s,lvl:10s}]}]}} 

Die einzeilige Befehlsblockschnittstelle von Minecraft macht es unglaublich schwierig, Fehler zu finden und zu beheben, besonders wenn es um nicht übereinstimmende Klammern geht. In der Tat, zur Veranschaulichung, habe ich einen Fehler in den oben genannten Befehl.

Welche Techniken kann ich verwenden, um unausgeglichene quadratische oder lockige Klammern zu finden und zu reparieren, wenn ich lange und komplizierte Datentags schreibe?

Der einfachste Weg, um nicht übereinstimmende Klammern zu finden, besteht darin, den Befehl in ein mehrzeiliges Format mit richtig eingerückten Linien zu erweitern. Das macht es einfacher, Fehler zu finden und sie anschließend zu beheben.

Ein schickes kleines Tool zum automatischen Formatieren Ihrer Daten-Tags finden Sie unter http://jsonviewer.stack.hu/ . Mit den Schaltflächen Formatieren und Entfernen von Leerzeichen können Sie Ihren Befehl erweitern oder reduzieren. Mit dem in den Fragen angegebenen Beispieldaten-Tag können wir das drehen

 {Profession:3,Career:2,Offers:{Recipes:[{buy:{id:minecraft:diamond,Count:6b}},sell:{id:minecraft:diamond_hoe,tag:{ench:[{id:16s,lvl:10s}]}]}} 

das mögen

 { Profession: 3, Career: 2, Offers: { Recipes: [ { buy: { id: minecraft: diamond, Count: 6b } }, sell: { id: minecraft: diamond_hoe, tag: { ench: [ { id: 16s, lvl: 10s } ] } ] } } 

Jetzt ist alles, was übrig ist, die Öffnungs- und Schließklammern bei jeder Einrückungsstufe zu vergleichen. Sie können sehen, dass es keine Schließung Klammer auf der letzten Einrückung Ebene, die letzte Klammer ist einmal eingerückt, zeigt uns, dass es eine schließende Klammer fehlt auf einer Ebene.

Wenn du alle Tags anfängst, die an der Spitze anfangen, kannst du sehen, dass es ein Problem mit dem sell : Es gibt eine schließende eckige Klammer anstelle einer lockigen Klammer auf dieser Einrückungsstufe. Um dies noch sichtbarer zu machen, können wir unser Daten-Tag in einen fortgeschrittenen Texteditor wie Notepad ++ einfügen, der für uns passende Klammern hervorhebt:

Notizblock ++ Ansicht

Hier ist sofort ersichtlich, dass für den sell eine schließende lockige Klammer benötigt wird.

Um ein bisschen Info hinzuzufügen: Ich glaube nicht, dass irgendeine Formatierung benötigt wird, es sei denn, du hast einen Befehl mit 1000 + Zeichen.
Für den Beginn von Minecraft "Programmierern" würde ich empfehlen, den Befehl an Notepar / Gedit zu kopieren, die meisten Einzugsklammern zu finden und ihre Inhalte zu löschen und dann den Inhalt der Klammern "unter" zu löschen und zu wiederholen, bis sie ein fehlendes / falsch platziertes Paar finden.
Für weiter fortgeschrittene Benutzer würde ich es empfehlen, es zu tun, wie ich es treibe: nur an die Klammerpaare denken. Auf diese Weise kann ich (und jeder andere kann) den Fehler im Beispielbefehl in etwa 10 Sekunden finden, ohne die vorhandene Antwort zu sehen.

Hoffnung war hilfreich!