JSON_OBJECT() în MySQL

Construiește un obiect JSON din perechi cheie-valoare.

Sintaxă
JSON_OBJECT(cheie1, valoare1, cheie2, valoare2, ...)

Ce face JSON_OBJECT()

JSON_OBJECT() primește perechi de argumente (cheie, valoare) și returnează un obiect JSON valid. Textele sunt puse între ghilimele și escapate automat.

Este calea sigură de a genera JSON din SQL, fără să lipești texte cu CONCAT().

Parametri

Parametru Descriere
cheie, valoare Perechi de argumente. Cheile sunt texte; valorile pot fi orice tip, inclusiv alt JSON.

Ce returnează

Un document JSON.

Exemple

Exemplul 1: Un obiect simplu

SELECT JSON_OBJECT('id', 1, 'oras', 'Cluj', 'activ', TRUE) AS obiect;

Rezultat

+------------------------------------------+
| obiect                                   |
+------------------------------------------+
| {"id": 1, "oras": "Cluj", "activ": true} |
+------------------------------------------+

Exemplul 2: Un rând de tabel transformat în JSON

CREATE TABLE produse (id INT, nume VARCHAR(30), pret DECIMAL(8,2));
INSERT INTO produse VALUES (1, 'Mouse "Pro"', 79.50);

SELECT JSON_OBJECT('id', id, 'nume', nume, 'pret', pret) AS json FROM produse;

Rezultat

+---------------------------------------------------+
| json                                              |
+---------------------------------------------------+
| {"id": 1, "nume": "Mouse \"Pro\"", "pret": 79.50} |
+---------------------------------------------------+

Greșeli frecvente

  • Construiești JSON cu CONCAT('{"nume": "', nume, '"}'). Un nume cu ghilimele strică documentul. JSON_OBJECT() escapează corect.

Comenzi înrudite

  • JSON_ARRAY(): Construiește o listă (array) JSON din valorile date.
  • JSON_OBJECTAGG(): Funcție de agregare: construiește un obiect JSON din perechi cheie-valoare ale unui grup.
  • JSON_EXTRACT(): Citește o valoare dintr-un document JSON după o cale ca ‘$.adresa.strada’.