JSON (JavaScript Object Notation) ialah format pertukaran data ringan yang mudah dibaca dan ditulis oleh manusia serta mudah dihuraikan dan dijana oleh mesin. Ia terdiri daripada dua struktur asas:
Objek: Koleksi pasangan kunci/nilai yang disertakan dalam pendakap kerinting {}.
Array: Koleksi tersusun nilai yang disertakan dalam kurungan segi empat sama [].
Sebelum melangkah ke dalam membetulkan dan mengesahkan JSON, mari kita fahami isu biasa yang mungkin anda hadapi dengan JSON dahulu:
Koma hilang atau tambahan: Koma mengekor di hujung tatasusunan atau objek atau koma yang hilang boleh membawa kepada JSON tidak sah.
Kunci tidak dipetik: Kunci JSON mesti sentiasa disertakan dalam petikan berganda (").
Jenis data salah: Pastikan penggunaan jenis data yang betul. Contohnya, rentetan hendaklah dipetik, nombor hendaklah dinyahpetik.
Kurungan tidak sepadan: Sentiasa pastikan kurungan kerinting {} dan kurungan segi empat sama [] sepadan dengan betul.
Aksara tidak sah: Rentetan JSON hanya boleh mengandungi aksara tertentu. Contohnya, garis miring ke belakang () mesti dilepaskan dalam rentetan.
Untuk membetulkan JSON yang tidak sah, anda boleh mengikuti langkah berikut:
Jika anda mempunyai sekeping kecil JSON yang tidak sah, mungkin paling mudah untuk membetulkannya secara manual sahaja. Berikut ialah pendekatan mudah:
Terdapat beberapa alatan dalam talian yang boleh membantu anda membetulkan atau memformat JSON secara automatik:
Alat ini lazimnya menyerlahkan isu sintaks dan memberikan mesej ralat yang boleh mengarahkan anda ke tempat masalahnya, menjadikannya lebih mudah untuk diselesaikan.
Banyak editor kod (cth., Visual Studio Code, Sublime Text atau Atom) menawarkan kefungsian khusus JSON, seperti:
Contoh dalam Kod VS:
Jika anda mempunyai set data yang besar, menggunakan bahasa pengaturcaraan (seperti Python, JavaScript atau Go) mungkin lebih cekap. Sebagai contoh, dalam Python, anda boleh menggunakan modul json untuk mengesahkan dan membetulkan JSON:
import json # Read the JSON string from a file or input input_json = '{"name": "John", "age": 30,}' # Try to load and fix the JSON try: parsed_json = json.loads(input_json) # This will raise an error if the JSON is invalid except json.JSONDecodeError as e: print(f"Invalid JSON: {e}") # Correcting it manually or programmatically and revalidating
Dalam JavaScript, anda boleh menggunakan JSON.parse() untuk menyemak sama ada JSON itu sah dan kemudian mengubah suainya:
const inputJson = '{"name": "John", "age": 30,}'; try { const parsedJson = JSON.parse(inputJson); // Throws error if invalid console.log('Valid JSON:', parsedJson); } catch (error) { console.log('Invalid JSON:', error.message); }
Pengesahan JSON melibatkan pemeriksaan sama ada rentetan JSON distruktur dan diformat dengan betul. Ini boleh dilakukan dalam beberapa cara:
Terdapat beberapa alat pengesahan JSON percuma tersedia dalam talian:
Kebanyakan bahasa pengaturcaraan mempunyai fungsi atau perpustakaan terbina dalam untuk mengesahkan JSON:
import json # Read the JSON string from a file or input input_json = '{"name": "John", "age": 30,}' # Try to load and fix the JSON try: parsed_json = json.loads(input_json) # This will raise an error if the JSON is invalid except json.JSONDecodeError as e: print(f"Invalid JSON: {e}") # Correcting it manually or programmatically and revalidating
const inputJson = '{"name": "John", "age": 30,}'; try { const parsedJson = JSON.parse(inputJson); // Throws error if invalid console.log('Valid JSON:', parsedJson); } catch (error) { console.log('Invalid JSON:', error.message); }
import json try: json_object = json.loads('{"name": "John", "age": 30}') print("Valid JSON") except ValueError as e: print("Invalid JSON", e)
Untuk struktur JSON yang lebih kompleks, anda boleh mengesahkan JSON terhadap Skema JSON yang dipratakrifkan. Skema JSON ialah rangka tindakan yang mentakrifkan struktur, sifat yang diperlukan dan jenis data dokumen JSON.
Contoh Skema JSON:
try { JSON.parse('{"name": "John", "age": 30}'); console.log("Valid JSON"); } catch (e) { console.log("Invalid JSON"); }
Mengesahkan JSON dalam Python dengan Skema:
import ( "encoding/json" "fmt" ) func main() { var jsonData = `{"name": "John", "age": 30}` var obj map[string]interface{} err := json.Unmarshal([]byte(jsonData), &obj) if err != nil { fmt.Println("Invalid JSON:", err) } else { fmt.Println("Valid JSON") } }
Untuk penyepaduan berterusan, ujian automatik atau persekitaran pengeluaran, anda mungkin mahu mengautomasikan pengesahan JSON menggunakan alat binaan atau saluran paip CI (seperti GitHub Actions, Jenkins, dll.).
Membetulkan dan mengesahkan JSON ialah kemahiran kritikal untuk pembangun, terutamanya apabila bekerja dengan API, fail konfigurasi atau pertukaran data antara sistem. Sama ada anda bekerja dengan objek JSON yang kecil atau set data yang besar, memahami perangkap biasa, menggunakan alatan dalam talian, bahasa pengaturcaraan atau pengesahan Skema JSON boleh meningkatkan kebolehpercayaan dan ketepatan data JSON anda dengan ketara.
Dengan menggunakan alat yang betul, seperti pengesah dalam talian, penyunting kod dengan ciri terbina dalam atau mengautomasikan proses dengan skrip, anda boleh memastikan pemformat JSON anda adalah sah dan mudah digunakan .
Atas ialah kandungan terperinci Membetulkan dan Mengesahkan JSON dengan Mudah: Panduan Mendalam. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!