JSON (JavaScript Object Notation) ist ein Datenaustauschformat, das für Menschen einfach zu lesen und zu schreiben und für Maschinen einfach zu parsen (analysieren von Datenstrukturen) und zu generieren ist.

Allgemeine JSON-Struktur für die BlockSettings

  • { Der Inhalt, bestehend aus Name und Wert (Value), steht in geschweiften Klammern }
    (= öffnen und schließen)

  • Der Name wird durch das entsprechende Attribut definiert, z. Bsp. block-disable-interactions
    (siehe auch Block-Attribute)

  • Ein Wert kann ein Objekt, ein Array, eine Zeichenkette ("String"), eine Zahl oder einer der Ausdrücke truefalse oder null sein. Werden mehrere Werte gesetzt, werden diese kommasepariert aufgeführt, z. Bsp. "move,resize"

  • "Name" und "Wert" werden jeweils in Anführungszeichen gesetzt, es sei denn der Wert ist ein Ausdruck (true/false) oder eine Zahl

  • Zwischen Name und Wert wird ein Doppelpunkt gesetzt, z. Bsp. "block-actions": "move"

  • werden mehrere "Name": "Wert"-Kombinationen aufgeführt, werden diese ebenfalls durch Kommas getrennt

  • Strukturen können ineinander verschachtelt sein. Bei einer Verschachtelung werden Name und Wert jeweils wieder in geschweifte Klammern gesetzt

  • Ein leerer String verbietet alle möglichen Bearbeitungsoptionen, z. Bsp. "block-actions": ""

Beispiel für den JSON-Inhalt eines BlockSettings Attributs

{
    "block-actions": "move,resize",
    "text-write": false,
    "text-format": "",
    "text-font-size": {
        "min": 5
    },
    "block-size-max": {
        "width": 50,
        "height": 50
    }
}
CODE

Erklärung:
(1) öffnen
(2) der Block darf verschoben und skaliert werden,
(3) der Textinhalt darf nicht verändert werden,
(4) es sind keinerlei Formatierungen des Textes erlaubt,
(5) Schriftgröße (Verschachtelung): öffnen
(6) mindestens 5 pt
(7) schließen,
(8) maximale Blockgröße (Verschachtelung): öffnen
(9) Breite = 50 pt,
(10) Höhe = 50 pt
(11) schließen
(12) schließen

BlockSettings und BlockRestrictions Generator

Im printformer besteht die Möglichkeit den JSON-Inhalt eines BlockSettings Attribut automatisch generieren zu lassen.
Je nach Blocktyp (allgemein, Text, Asset oder Shape) können die möglichen Einschränkungen oder Restritktionen ausgewählt, und der unten generierte Wert für das Attribut, kopiert werden.