


Mari kita bincangkan tentang cara menggunakan kaedah JSON dalam thinkphp5
Dengan populariti aplikasi web, penggunaan teknologi AJAX semakin meluas. JSON (JavaScript Object Notation) ialah format data yang popular apabila berurusan dengan interaksi data hadapan dan belakang. Dalam rangka kerja ThinkPHP5, operasi JSON adalah sangat mudah Artikel ini akan memperkenalkan cara menggunakan kaedah JSON dalam ThinkPHP5.
- Pengenalan kepada operasi Json
Dalam PHP, untuk menukar tatasusunan kepada data format JSON, anda hanya perlu menggunakan fungsi json_encode.
$data = array('a' => 1, 'b' => 2, 'c' => 3); echo json_encode($data); // {"a":1,"b":2,"c":3}
Data format JSON boleh ditukar kepada tatasusunan melalui fungsi json_decode:
$json_data = '{"a":1,"b":2,"c":3}'; $data = json_decode($json_data, true); print_r($data); // Array ( [a] => 1 [b] => 2 [c] => 3 )
Dalam rangka kerja ThinkPHP5, operasi JSON adalah lebih mudah, dan rangka kerja menyediakan kelas Json, yang mudah Untuk memproses data JSON dengan cekap, kelas ini terletak di thinkresponseJson.php.
- Kelas Json menggunakan
Kelas Json mewarisi daripada kelas Respons ialah kelas induk abstrak bagi kelas respons tindak balas kepada klien. Fungsi utama kelas Json adalah untuk mengembalikan data kepada klien dalam format JSON.
Kita boleh mencipta contoh Json dengan cara berikut:
use think\response\Json; $data = array('a' => 1, 'b' => 2, 'c' => 3); $json = new Json($data);
atau dengan cara berikut:
$json = json($data);
- Pengenalan kaedah Json
Kelas Json menyediakan berbilang kaedah untuk memproses data JSON masing-masing.
(1) kaedah data
Kaedah data digunakan untuk menetapkan data yang akan dikembalikan.
$json = new Json(); $json->data($data);
atau:
$json->data($data)->code(200)->header(['Cache-control' => 'no-cache,must-revalidate'])->send();
(2) kaedah kandungan
Kaedah kandungan digunakan untuk menetapkan jenis data yang akan dikembalikan, seperti Kandungan - jenis aplikasi/json Type.
$json = new Json(); $json->content('application/json');
(3) kaedah jsonp
Kaedah jsonp digunakan untuk menjana data JSONP Ia menerima dua parameter Parameter pertama ialah nama fungsi panggil balik, dan parameter kedua ialah nama fungsi panggil balik Data dikembalikan.
$json = new Json(); $json->jsonp('callback', $data);
(4) kaedah kod
Kaedah kod digunakan untuk menetapkan kod status respons Sebagai contoh, 200 bermakna respons berjaya, 404 bermakna sumber yang diminta melakukannya tidak wujud, dsb.
$json = new Json(); $json->code(200);
(5) kaedah pengepala
Kaedah pengepala digunakan untuk menetapkan maklumat pengepala respons.
$json = new Json(); $json->header(['Cache-control' => 'no-cache,must-revalidate']);
(6) kaedah pilihan
kaedah pilihan digunakan untuk menetapkan pilihan respons.
$json = new Json(); $json->options(['json_encode_param' => JSON_UNESCAPED_UNICODE]);
(7) kaedah hantar
Kaedah hantar digunakan untuk menghantar data respons.
$json = new Json($data); $json->send();
- Contoh Json
Berikut ialah contoh untuk mempelajari cara menggunakan kelas Json. Katakan kita memerlukan API JSON untuk mengembalikan senarai produk Setiap produk mempunyai dua atribut: ID dan nama.
Mula-mula kod bahagian hadapan:
$.ajax({ url: '/goods/list', dataType: 'jsonp', jsonp: 'callback', success: function(data) { if (data.code == 200) { $.each(data.data, function(index, item) { $('#goods-list').append('<li>' + item.id + ': ' + item.name + '</li>'); }); } else { alert('加载商品列表失败:' + data.msg); } }, error: function(jqXHR, textStatus, errorThrown) { alert('加载商品列表失败:' + textStatus); } });
Kemudian tambahkan fungsi senarai dalam pengawal Barangan:
namespace app\index\controller; use think\response\Json; class Goods { public function list() { // 模拟商品数据 $goods_list = array( array('id' => 1, 'name' => '商品1'), array('id' => 2, 'name' => '商品2'), array('id' => 3, 'name' => '商品3'), ); // 返回JSON数据 $json = json($goods_list); $jsonp_callback = input('get.callback'); if (!empty($jsonp_callback)) { $json->jsonp($jsonp_callback); } return $json; } }
Akhir sekali, tambahkan peraturan dalam penghalaan:
Route::get('/goods/list', 'index/Goods/list');
Jalankan program dan akses laluan /barang/senarai untuk melihat data JSON yang dikembalikan.
Artikel ini hanya memperkenalkan beberapa kaedah penggunaan asas kelas Json dalam rangka kerja ThinkPHP5 Terdapat lebih banyak penggunaan lanjutan yang perlu diterokai sendiri oleh pembaca. Saya harap artikel ini dapat memberikan sedikit rujukan untuk semua orang memahami operasi JSON bagi rangka kerja ThinkPHP5.
Atas ialah kandungan terperinci Mari kita bincangkan tentang cara menggunakan kaedah JSON dalam thinkphp5. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



