Ich wollte ein Tool, das ein einfaches Textformat parsen und JSON ausgeben kann, das an anderer Stelle verwendet werden kann. Die Eingabe wäre eine Syntax, die einfach und schnell von Hand zu schreiben ist, JSON jedoch nativ vollständig darstellen kann.
Dies kommt von einer Frustration über den Versuch, JSON von Hand zu schreiben; Es ist fehleranfällig und zeitaufwändig, besonders wenn es um etwas geht, das auch nur leicht komplex ist, ganz zu schweigen vom Fehlen einer Standardkonvention für Abstände / Zeilenumbrüche.
Nach einigem Suchen fand ich ObjGen . Das scheint sehr nah an dem zu sein, was ich will, aber es ist nicht perfekt (es kann mit bestimmten Konstrukten nicht umgehen), und bevor ich meine eigene Open-Source-Version erstelle, wollte ich wissen, ob es da draußen etwas Ähnliches gibt?
Bearbeiten - Weitere Informationen
Das Konstrukt, auf das ich mich bezog, war eine Liste von Zeichenfolgen wie diese:
{
"list_of_strings": [
"hello",
"hello, again",
"goodbye"
]
}
Es schien nicht möglich, dies im ObjGen-Eingabeformat auszudrücken, da String-Arrays immer geteilt werden, ,
auch wenn sie maskiert sind (tatsächlich werden Steuerzeichen nicht unterstützt, soweit ich das beurteilen kann, da sie \
einfach als ausgegeben werden "\"
). Ich habe jedoch festgestellt, dass dies durch die Verwendung des ASCII-Codes wie "hello , again"
.
Ich habe Huge JSON Viewer in C# mit JSON.NET implementiert . Für C# können Sie SharpDevelop als IDE dafür verwenden.
Ich würde vorschlagen, einen Blick auf die in Python verfügbaren Tools zu werfen .
Es gibt viele Möglichkeiten, Ihren Eingabetext zu parsen, von der Verwendung der superstarken regulären Ausdrücke in re bis zur Verwendung der textX- Bibliothek, um Ihre Eingabesyntax zu definieren und automatisch einen Parser dafür zu erstellen.
Die eingebaute JSON-Bibliothek ist sehr gut und erweiterbar oder es kann der Fork simplejson verwendet werden - letzteres hat den Vorteil, dass Sie es unabhängig von Ihrer Python-Version aktualisieren können.
Wie Sie ObjGen gesagt haben, scheint es nur wenige andere Online-Tools zu geben, die vielleicht besser für JSON geeignet sind:
Ich habe JSONedit ein ähnliches, experimentelles (noch nicht gründlich getestetes) Tool hinzugefügt : Es soll beim Erstellen kleiner und mittlerer Strukturen helfen, die in den Haupteditor eingefügt werden sollen (z. B. als Element eines größeren Objekts).
Mit Wine sollte es funktionieren.
Nikolaus Raul
Thomas Weller
Arj