In MariaDB, JSON_OBJECT()
ist eine integrierte Funktion, die ein JSON-Objekt zurückgibt, das die als Argumente bereitgestellten Schlüssel/Wert-Paare enthält.
Syntax
Die Syntax lautet wie folgt:
JSON_OBJECT([key, value[, key, value] ...])
Die Funktion akzeptiert eine beliebige Anzahl von Schlüssel/Wert-Paaren.
Die Schlüssel/Wert-Liste kann auch leer sein.
Beispiel
Hier ist ein einfaches Beispiel, um die Funktion zu demonstrieren:
SELECT JSON_OBJECT("name", "Homer", "type", "Idiot");
Ergebnis:
Keine Argumente
Wie erwähnt, kann die Argumentliste leer sein, in diesem Fall wird ein leeres Objekt zurückgegeben:
SELECT JSON_OBJECT();
Ergebnis:
+---------------+| JSON_OBJECT() |+---------------+| {} |+---------------+
Falsche Parameteranzahl
Wenn Sie jedoch Argumente angeben, muss es sich um eine gerade Anzahl von Argumenten handeln (damit jeder Schlüssel einen entsprechenden Wert hat).
Folgendes passiert, wenn ich nur ein Argument an JSON_OBJECT()
übergebe :
SELECT JSON_OBJECT("name");
Ergebnis:
FEHLER 1582 (42000):Falsche Parameteranzahl im Aufruf der nativen Funktion „JSON_OBJECT“
Derselbe Fehler tritt auf, wenn ich drei Argumente übergebe:
SELECT JSON_OBJECT("name", "Homer", "type");
Ergebnis:
FEHLER 1582 (42000):Falsche Parameteranzahl im Aufruf der nativen Funktion „JSON_OBJECT“
Und so weiter…
Null-Schlüsselnamen
Die MariaDB-Dokumentation gibt an, dass ein Fehler zurückgegeben wird, wenn ein Schlüsselname NULL
ist .
Allerdings bekomme ich ein anderes Ergebnis:
SELECT JSON_OBJECT(null, null);
Ergebnis:
+-------------------------+| JSON_OBJECT(null, null) |+-------------------------+| {"":null} |+--------------------+