Mysql
 sql >> Baza danych >  >> RDS >> Mysql

JSON_VALID() – Testuj poprawność JSON w MySQL

Używając MySQL, możesz użyć JSON_VALID() funkcja do sprawdzenia, czy wyrażenie tekstowe zawiera prawidłowy JSON.

Jeśli wyrażenie zawiera prawidłowy JSON, JSON_VALID() zwraca 1 , w przeciwnym razie zwraca 0 .

Składnia

Składnia wygląda tak:

JSON_VALID(val)

Gdzie val to wartość, dla której testujesz prawidłowy JSON.

Przykład 1 – prawidłowy JSON

Oto przykład pokazujący, co się dzieje, gdy ciąg zawiera prawidłowy JSON.

SELECT JSON_VALID('{"Name": "Bart"}') AS Result;

Wynik:

+--------+
| Result |
+--------+
|      1 |
+--------+

Przykład 2 – Nieprawidłowy JSON

Oto przykład pokazujący, co się dzieje, gdy ciąg nie zawierać prawidłowy JSON.

SELECT JSON_VALID('Name: Bart') AS Result;

Wynik:

+--------+
| Result |
+--------+
|      0 |
+--------+

Przykład 3 – Przykład bazy danych

W tym zapytaniu do bazy danych wyniki są zwracane tylko wtedy, gdy Collections.Contents kolumna zawiera poprawny JSON.

Ta konkretna kolumna używa typu danych json do przechowywania dokumentu JSON.

SELECT Contents
FROM Collections
WHERE JSON_VALID(Contents) = 1;

Wynik:

+------------+
| Contents   |
|------------|
| [
    {
        "ArtistName": "AC/DC",
        "Albums": [
            {
                "AlbumName": "Powerage"
            }
        ]
    },
    {
        "ArtistName": "Devin Townsend",
        "Albums": [
            {
                "AlbumName": "Ziltoid the Omniscient"
            },
            {
                "AlbumName": "Casualties of Cool"
            },
            {
                "AlbumName": "Epicloud"
            }
        ]
    },
    {
        "ArtistName": "Iron Maiden",
        "Albums": [
            {
                "AlbumName": "Powerslave"
            },
            {
                "AlbumName": "Somewhere in Time"
            },
            {
                "AlbumName": "Piece of Mind"
            },
            {
                "AlbumName": "Killers"
            },
            {
                "AlbumName": "No Prayer for the Dying"
            }
        ]
    }
]            |
+------------+

Oto, co się stanie, jeśli zmienimy instrukcję, aby zwracała dane tylko wtedy, gdy isn't prawidłowy JSON.

SELECT Contents
FROM Collections
WHERE JSON_VALID(Contents) = 0;

Wynik:

Empty set (0.00 sec)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL w 2018 roku:co jest w wersji 8.0 i inne obserwacje

  2. DATE_ADD() Przykłady – MySQL

  3. Jak obliczyć skumulowaną sumę w MySQL

  4. Jak naprawić alert Security Advisor MySQL?

  5. Jak zdalnie połączyć się z bazą danych MySQL znajdującą się na naszym współdzielonym serwerze?