Saya memiliki skrip PHP yang dipanggil melalui jQuery AJAX. Saya ingin skrip PHP mengembalikan data dalam format JSON ke javascript. Berikut kode pseudo dalam skrip PHP:
$json = "{";
foreach($result as $addr)
{
foreach($addr as $line)
{
$json .= $line . "\n";
}
$json .= "\n\n";
}
$json .= "}";
Pada dasarnya, saya membutuhkan hasil dari dua loop untuk dimasukkan ke dalam $ json.
php
javascript
json
AquinasTub
sumber
sumber
Berikut ini beberapa hal yang hilang dalam jawaban sebelumnya:
Setel header di PHP Anda:
header('Content-type: application/json'); echo json_encode($array);
json_encode()
dapat mengembalikan larik JavaScript alih-alih objek JavaScript , lihat:Mengembalikan JSON dari Skrip PHP
Ini mungkin penting untuk diketahui dalam beberapa kasus karena larik dan objek tidak sama.
sumber
json_encode()
(seperti semua fungsi) selalu mengembalikan sesuatu (termasukNULL
); Anda dapat mencetak data, memprosesnya dan kemudian mencetaknya, memasukkannya ke variabel untuk digunakan nanti, menyimpannya ke file, dll ... Anda dapat membaca lebih lanjut tentangreturn
di PHP: Mengembalikan nilai . Anda juga dapat (dan harus!) Memeriksa apa yang dikembalikan oleh setiap fungsi yang tidak Anda ketahui, lihat contoh json_encode () yang menyatakan Mengembalikan string yang dikodekan JSON saat berhasil atau SALAH saat gagal.return json_encode($jsonArray);
tidak berhasil (AngularJS http.get tidak mendapatkan apa-apa), sampai saya kemudian menyadarinya :)Ada bagian JSON dalam dokumentasi PHP. Anda akan membutuhkan PHP 5.2.0.
Jika tidak, inilah pustaka PECL yang dapat Anda instal.
<?php $arr = array ('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5); echo json_encode($arr); // {"a":1,"b":2,"c":3,"d":4,"e":5} ?>
sumber
Biasanya Anda juga tertarik untuk memiliki beberapa struktur pada data Anda di pihak penerima:
json_encode($result)
Ini akan mempertahankan kunci array juga.
Ingatlah bahwa json_encode hanya bekerja pada data yang dienkode utf8.
sumber
Anda dapat menggunakan Simple JSON untuk PHP . Ini mengirimkan tajuk yang membantu Anda memalsukan JSON.
Sepertinya :
<?php // Include the json class include('includes/json.php'); // Then create the PHP-Json Object to suits your needs // Set a variable ; var name = {} $Json = new json('var', 'name'); // Fire a callback ; callback({}); $Json = new json('callback', 'name'); // Just send a raw JSON ; {} $Json = new json(); // Build data $object = new stdClass(); $object->test = 'OK'; $arraytest = array('1','2','3'); $jsonOnly = '{"Hello" : "darling"}'; // Add some content $Json->add('width', '565px'); $Json->add('You are logged IN'); $Json->add('An_Object', $object); $Json->add("An_Array",$arraytest); $Json->add("A_Json",$jsonOnly); // Finally, send the JSON. $Json->send(); ?>
sumber
$ msg = "Anda Memasukkan Nama Pengguna ATAU Kata Sandi yang Salah"; $ responso = json_encode ($ msg);
echo "{\"status\" : \"400\", \"responce\" : \"603\", \"message\" : \"You Enter Wrong Username OR Password\", \"feed\":".str_replace("<p>","",$responso). "}";
sumber