Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimanakah PHP menentukan sama ada data yang dikembalikan dalam format json?
Dalam pembangunan, ia selalunya melibatkan pemprosesan data yang dikembalikan daripada antara muka atau sumber data lain Antaranya, memproses data format JSON adalah tugas yang sangat biasa. Sebagai bahasa yang ditaip sangat dinamik, PHP menyediakan pelbagai fungsi terbina dalam dan perpustakaan sambungan untuk memproses data format JSON. Walau bagaimanapun, dalam pembangunan sebenar, kita mungkin menghadapi masalah, bagaimana untuk menentukan sama ada data yang dikembalikan adalah dalam format JSON?
Dalam artikel ini, kami akan meneroka cara menyelesaikan masalah ini menggunakan PHP.
Sebelum kita mula membincangkan cara menentukan sama ada data yang dikembalikan adalah berformat JSON, mari kita fahami format JSON terlebih dahulu.
JSON ialah singkatan Notasi Objek JavaScript dan merupakan format pertukaran data yang ringan. Ia adalah format teks yang boleh dihuraikan dan dijana oleh mana-mana bahasa pengaturcaraan. Data JSON terdiri daripada pasangan nilai kunci, di mana kuncinya ialah rentetan dan nilainya boleh menjadi rentetan, nombor, nilai Boolean, objek, tatasusunan dan jenis data lain.
Berikut ialah contoh data JSON yang mudah:
{ "name": "John", "age": 30, "married": true, "pets": ["dog", "cat"] }
Dalam PHP, kita boleh menggunakan beberapa fungsi terbina dalam untuk menentukan sama ada data yang dikembalikan adalah berformat JSON Berikut ialah dua kaedah biasa:
Kaedah 1: Gunakan json_decode
. Fungsi
json_decode
ialah fungsi terbina dalam PHP yang boleh menukar rentetan format JSON kepada pembolehubah PHP. Jika rentetan masuk tidak dalam format JSON yang sah, nilai NULL akan dikembalikan.
Kami boleh menggunakan kod berikut untuk menentukan sama ada data yang dikembalikan adalah dalam format JSON:
function isJson($string) { json_decode($string); return (json_last_error() == JSON_ERROR_NONE); }
Dalam kaedah ini, kami mula-mula memanggil fungsi json_decode
untuk cuba menghuraikan JSON rentetan. Jika penghuraian gagal, ini bermakna rentetan itu tidak diformatkan JSON.
Seterusnya, kami memanggil fungsi json_last_error
untuk mendapatkan kod ralat panggilan terakhir kepada fungsi json_decode
. Jika JSON_ERROR_NONE
dikembalikan, rentetan itu diformatkan JSON, jika tidak, ia tidak.
Kaedah 2: Gunakan fungsi json_last_error
Fungsi
json_last_error
ialah fungsi terbina dalam PHP yang boleh mendapatkan kod ralat yang berlaku semasa pengekodan dan penyahkodan JSON yang terakhir. . Jika fungsi ini mengembalikan JSON_ERROR_NONE
, ini bermakna rentetan masuk adalah berformat JSON, jika tidak, ia tidak.
Kami boleh menggunakan kod berikut untuk menentukan sama ada data yang dikembalikan adalah dalam format JSON:
function isJson($string) { return is_string($string) && is_array(json_decode($string, true)) && (json_last_error() == JSON_ERROR_NONE); }
Dalam kaedah ini, kami mula-mula menggunakan fungsi is_string
untuk menentukan sama ada nilai masuk ialah jenis rentetan. Seterusnya, kami memanggil fungsi json_decode
untuk cuba menghuraikan rentetan JSON dan menukarnya menjadi tatasusunan PHP. Jika fungsi ini mengembalikan tatasusunan dan nilai pulangan fungsi json_last_error
berjaya, ini bermakna rentetan masuk adalah dalam format JSON, jika tidak, ia tidak.
Dalam artikel ini, kami membincangkan cara menggunakan PHP untuk menentukan sama ada data yang dikembalikan adalah berformat JSON. Kami telah memperkenalkan dua kaedah biasa yang pertama ialah menggunakan fungsi json_decode
dan fungsi json_last_error
untuk menilai, dan yang kedua ialah menggunakan fungsi json_last_error
untuk menilai. Tidak kira kaedah yang digunakan, kami boleh menentukan dengan cepat sama ada data dalam format JSON untuk pemprosesan seterusnya.
Atas ialah kandungan terperinci Bagaimanakah PHP menentukan sama ada data yang dikembalikan dalam format json?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!