< Zurück zu Webentwicklung

JSON Generatoren, Open Source und Katzen

geschrieben von Felix Beuster am

Eigentlich wollte ich in diesem Video für meine Masterarbeit einen neuen JSON Generator entwickeln bzw. einen bestehenden weiterentwickeln. Aber wie es in der in der Entwicklung nunmal immer ist, nimmt das Ganze dann doch wieder eine andere Wendung.

Dein Browser ist zu klein für den eingebetteten Player. Du kannst das Video hier auf YouTube ansehen.

Das Onlinetool, das ich im Video versprochen habe, wird sich noch um ein paar Tage verschieben. Ihr könnt ja zum Zeitvertreib noch mal auf fiftyshadesofgrey.info vorbei schauen. ;)
Ich lass euch natürlich nicht ganz alleine, von daher hier noch mal ein Überblick darüber, wie sich ein optionales Element erreichen lässt.

Optionale Attribute mit Dummy JSON

Im Video nutze ich zur Generierung von JSON-Dokumenten Dummy JSON, da es mir relativ populär und viel verwendet scheint.

Eine direkte Helper-Funktion für optionale Attribute gibt es hier nicht, allerdings lässt sich der {{#repeat}} Block entsprechend konfigurieren, sodass ein optionaler Bereich entsteht: {{#repeat 0 1 comma=false}}.
Die beiden Zahlen geben an, wie oft der Code-Teil wiederholt werden soll, in diesem Fall mindestens 0 mal, un maximal 1 mal. Sind wie hier zwei Zahlen angegeben, wählt Dummy JSON eine zufällige Zahl zwischen ihnen aus, und wir haben somit einen optionalen Bereich erzeugt.
comma=false ist hier notwendig, da ansonsten immer ein Komma generiert wird, unabhägig davon ob der Block erzeugt wurde oder nicht, und das führt mitunter zu Syntaxfehlern.

Hier mal als komplettes Beispiel:

1
{
2
  "id" : 1,
3
  "name" : "Alice"
4
  {{#repeat 0 1 comma=false}}
5
    ,
6
    "age" : 27
7
  {{/repeat}}
8
}

Interessant ist an dieser Stelle vielleicht noch Zeile 5 mit dem Komma. Nach dem name-Attribut brauchen wir für valides JSON natürlich ein Komma, falls noch weitere Attribute folgen. Dieses kann aber nicht in Zeile 3 gesetzt werden, weil ansonsten in dem Falle, dass age nicht generiert wird, wir ein Komma zu viel haben und das JSON-Dokument invalide wird. Daher muss das Komma auch dementsprechend in den Block für den optionalen Code.

< Zurück zu Webentwicklung

Kommentare

Bisher keine Kommentare.
Schreib etwas neues

Noch 1500 Zeichen übrig.

Mit * makierte Felder sind Pflichtfelder. Mit dem Absenden des Formulars eklären Sie sich mit den Datenschutzerklärung einverstanden.

Bitt warte 20 Sekunden, bevor du das Formular abschicken kannst.

< Zurück zu Webentwicklung