MariaDB
 sql >> Teknologi Basis Data >  >> RDS >> MariaDB

MariaDB JSON_LOOSE() Dijelaskan

Di MariaDB, JSON_LOOSE() adalah fungsi bawaan yang menambahkan spasi ke dokumen JSON agar lebih mudah dibaca.

Ini mirip dengan JSON_DETAILED() fungsi, kecuali bahwa itu tidak menekankan struktur bersarang seperti JSON_DETAILED() tidak.

Untuk efek sebaliknya (yaitu untuk menghapus spasi yang tidak perlu), gunakan JSON_COMPACT() fungsi.

Sintaks

Sintaksnya seperti ini:

JSON_LOOSE(json_doc)

Dimana json_doc adalah dokumen JSON.

Contoh

Berikut ini contoh untuk didemonstrasikan.

SET @json = '{"name":"Wag","type":"Dog"}';

SELECT JSON_LOOSE(@json);

Hasil:

+--------------------------------+
| JSON_LOOSE(@json)              |
+--------------------------------+
| {"name": "Wag", "type": "Dog"} |
+--------------------------------+

Dokumen asli tidak mengandung spasi, tetapi hasil dari JSON_LOOSE() berisi spasi..

Ini dia lagi dibandingkan dengan dokumen aslinya:

SET @json = '{"name":"Wag","type":"Dog"}';

SELECT 
    @json AS 'Original',
    JSON_LOOSE(@json) AS 'Modified';

Hasil:

+-----------------------------+--------------------------------+
| Original                    | Modified                       |
+-----------------------------+--------------------------------+
| {"name":"Wag","type":"Dog"} | {"name": "Wag", "type": "Dog"} |
+-----------------------------+--------------------------------+

Objek dan Array

Berikut adalah contoh dengan objek dan larik, hanya untuk menunjukkan bahwa itu tidak menyediakan pemformatan tambahan untuk struktur seperti itu.

SET @json = '{"specs":{"w":10,"h":30},"scores":[1,2,3]}';

SELECT JSON_LOOSE(@json);

Hasil:

+----------------------------------------------------+
| JSON_LOOSE(@json)                                  |
+----------------------------------------------------+
| {"specs": {"w": 10, "h": 30}, "scores": [1, 2, 3]} |
+----------------------------------------------------+

Jika Anda memerlukan pemformatan tambahan untuk struktur ini, coba JSON_DETAILED() fungsi.

Argumen Null

Jika argumennya adalah NULL , hasilnya adalah NULL :

SELECT JSON_LOOSE(null);

Hasil:

+------------------+
| JSON_LOOSE(null) |
+------------------+
| NULL             |
+------------------+

Jumlah Parameter Salah

Tidak memberikan argumen akan menyebabkan kesalahan:

SELECT JSON_LOOSE();

Hasil:

ERROR 1582 (42000): Incorrect parameter count in the call to native function 'JSON_LOOSE'

Sama halnya jika Anda memberikan terlalu banyak argumen:

SELECT JSON_LOOSE('{"a":1}', 2);

Hasil:

ERROR 1582 (42000): Incorrect parameter count in the call to native function 'JSON_LOOSE'

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Menangani Masalah Replikasi dari Cluster Database MariaDB non-GTID ke GTID

  2. Memaksimalkan Efisiensi Kueri Basis Data untuk MySQL - Bagian Kedua

  3. Bagaimana SUBSTRING_INDEX() Bekerja di MariaDB

  4. Migrasi Jaringan Tanpa Waktu Henti Dengan MySQL Galera Cluster Menggunakan Relay Node

  5. Memigrasikan Azure Database untuk MySQL/MariaDB ke Server Lokal