Ce face JSON_TYPE()
JSON_TYPE() spune ce fel de valoare ai într-un document. Este util la validarea datelor venite din surse externe.
Parametri
| Parametru | Descriere |
|---|---|
valoare_json |
Valoarea analizată. |
Ce returnează
Numele tipului, cu majuscule.
Exemple
Exemplele de pe această pagină pornesc de la datele de mai jos. Rulează mai întâi acest cod, apoi exemplul.
CREATE TABLE profiluri (
id INT PRIMARY KEY,
date JSON
);
INSERT INTO profiluri VALUES
(1, '{"nume": "Ana", "oras": "Iași", "varsta": 31, "hobby": ["citit", "înot"], "adresa": {"strada": "Lăpușneanu", "nr": 12}}'),
(2, '{"nume": "Dan", "oras": "Cluj", "varsta": 45, "hobby": ["ciclism"]}'),
(3, '{"nume": "Ioana", "oras": "Iași", "varsta": 27, "hobby": []}');
Exemplul 1: Tipurile câmpurilor unui profil
SELECT JSON_TYPE(date) AS tot,
JSON_TYPE(date->'$.nume') AS nume,
JSON_TYPE(date->'$.varsta') AS varsta,
JSON_TYPE(date->'$.hobby') AS hobby
FROM profiluri
WHERE id = 1;
Rezultat
+--------+--------+---------+-------+
| tot | nume | varsta | hobby |
+--------+--------+---------+-------+
| OBJECT | STRING | INTEGER | ARRAY |
+--------+--------+---------+-------+
Greșeli frecvente
- Trimiți un text obișnuit (
'abc'). Nu este JSON valid și primești eroare. Un șir JSON trebuie să fie între ghilimele:'"abc"'.
Comenzi înrudite
JSON_VALID(): Verifică dacă un text este JSON valid (1 sau 0).JSON_DEPTH(): Adâncimea maximă a unui document JSON (câte niveluri de liste/obiecte are).