oleh Vincy. Terakhir diubah pada 22 Oktober 2022.
JSON adalah format terbaik untuk mentransfer data melalui jaringan. Ini adalah format yang mudah diuraikan secara komparatif. Itu sebabnya sebagian besar API menerima parameter dan mengembalikan respons dalam JSON.
Ada alat online untuk mengonversi array ke objek JSON. Tutorial ini mengajarkan cara membuat program untuk mengubah berbagai jenis input array PHP ke dalam format JSON.
Ini memiliki 4 contoh berbeda untuk mengonversi array PHP ke JSON. Itu terlalu kecil dengan tujuan untuk membuat pemula memahami konsep ini dengan mudah.
Contoh cepat
Contoh cepat ini hanya dikodekan dengan solusi langsung tiga baris. Dibutuhkan array PHP satu dimensi dan mengubahnya menjadi JSON.
<?php
$array = array(100, 250, 375, 400);
$jsonString = json_encode($array);
echo $jsonString;
?>
Lihat Demo
Contoh array-ke-JSON lain yang berbeda menangani konversi array sederhana ke kompleks. Ini juga menerapkan pra-modifikasi (seperti pemetaan array) sebelum konversi. Empat contoh tersebut adalah,
- Array PHP sederhana hingga kompleks ke JSON.
- Hapus kunci array sebelum mengonversi ke JSON.
- Konversi array PHP dengan karakter beraksen ke JSON
- PHP Array ke JSON dengan pencetakan cantik
Jika Anda ingin kode sebaliknya untuk memecahkan kode objek JSON ke array, maka artikel yang ditautkan memiliki contoh.
Lihat demo online ini untuk mengonversi larik nilai yang dipisahkan koma menjadi objek JSON.
1) Array PHP sederhana hingga kompleks ke JSON
Kode ini menangani 3 jenis data array menjadi objek JSON. Di PHP, sangat mudah untuk mengonversi array ke JSON.
Ini adalah kode satu baris dengan menggunakan fungsi PHP json_encode().
<?php
// PHP Array to JSON string conversion for
// simple, associative and multidimensional arrays
// all works the same way using json_encode
// just present different arrays for example purposes only
// simple PHP Array to JSON string
echo '<h1>PHP Array to JSON</h1>';
$array = array(
100,
250,
375,
400
);
$jsonString = json_encode($array);
echo $jsonString;
// Associative Array to JSON
echo '<h2>Associative PHP Array to JSON</h2>';
$array = array(
'e1' => 1000,
'e2' => 1500,
'e3' => 2000,
'e4' => 2350,
'e5' => 3000
);
$jsonString = json_encode($array);
echo $jsonString;
// multidimensional PHP Array to JSON string
echo '<h2>Multidimensional PHP Array to JSON</h2>';
$multiArray = array(
'a1' => array(
'item_id' => 1,
'name' => 'Lion',
'type' => 'Wild',
'location' => 'Zoo'
),
'a2' => array(
'item_id' => 2,
'name' => 'Cat',
'type' => 'Domestic',
'location' => 'Home'
)
);
echo json_encode($multiArray);
?>
Keluaran:
//PHP Array to JSON
[100,250,375,400]
//Associative PHP Array to JSON
{"e1":1000,"e2":1500,"e3":2000,"e4":2350,"e5":3000}
//Multidimensional PHP Array to JSON
{"a1":{"item_id":1,"name":"Lion","type":"Wild","location":"Zoo"},"a2":{"item_id":2,"name":"Cat","type":"Domestic","location":"Home"}}
2) Hapus kunci array sebelum mengonversi ke JSON
Kode ini menangani skenario konversi JSON yang berbeda yang harus membantu jika diperlukan. Misalnya, jika array mengasosiasikan subjek=>tanda dan pengguna hanya membutuhkan tanda untuk memplotnya dalam grafik.
Ini menghapus kunci yang ditentukan pengguna dari array asosiatif dan menerapkan json_encode untuk mengonversinya. Ini adalah proses dua langkah.
- Ini menerapkan PHP array_values() untuk membaca array nilai.
- Kemudian, itu menerapkan json_encode pada array nilai.
<?php
// array_values() to remove assigned keys and convert to the original PHP Array key
echo '<h1>To remove assigned associative keys and PHP Array to JSON</h1>';
$array = array(
'e1' => 1000,
'e2' => 1500,
'e3' => 2000,
'e4' => 2350,
'e5' => 3000
);
$jsonString = json_encode(array_values($array));
echo $jsonString;
?>
Keluaran:
[1000,1500,2000,2350,3000]
3) Konversikan array PHP dengan karakter beraksen ke JSON
Ini juga merupakan proses dua langkah untuk mengonversi larik data yang berisi karakter beraksen.
Ini menerapkan pengkodean UTF8 pada nilai array sebelum mengubahnya menjadi objek JSON.
Untuk menyandikan semua elemen larik yang diberikan, ini memetakan utf8_encode() sebagai panggilan balik menggunakan fungsi PHP array_map().
Kita telah melihat fungsi array PHP yang sering digunakan saat bekerja dengan array.
<?php
// Accented characters
// to preserve accented characters during PHP Array to JSON conversion
// you need to utf8 encode the values and then do json_encode
echo '<h1>For accented characters PHP Array to JSON</h1>';
$array = array(
'w1' => 'résumé',
'w2' => 'château',
'w3' => 'façade',
'w4' => 'déjà vu',
'w5' => 'São Paulo'
);
$utfEncodedArray = array_map("utf8_encode", $array);
echo json_encode($utfEncodedArray);
?>
Keluaran:
{"w1":"ru00c3u00a9sumu00c3u00a9","w2":"chu00c3u00a2teau","w3":"fau00c3u00a7ade","w4":"du00c3u00a9ju00c3u00a0 vu","w5":"Su00c3u00a3o Paulo"}
4) PHP Array ke JSON dengan pencetakan cantik
Ini berlaku untuk prettyprint pada properti JSON keluaran yang dikonversi dalam format luas yang bersih.
Fungsi PHP json_encode() menerima parameter kedua untuk menyetel flag bitmask. Bendera ini digunakan untuk mengatur JSON_PRETTY_PRINT untuk menyelaraskan properti JSON keluaran.
<?php
// to neatly align the output with spaces
// it may be useful when you plan to print the
// JSON output in a raw format
// helpful when debugging complex multidimensional PHP Arrays and JSON objects
// lot more constants are available like this, which might be handy in situations
echo '<h1>Convert PHP Array to JSON and Pretty Print</h1>';
$array = array(
'e1' => 1000,
'e2' => 1500,
'e3' => 2000,
'e4' => 2350,
'e5' => 3000
);
echo json_encode($array, JSON_PRETTY_PRINT);
?>
Keluaran:
{ "e1": 1000, "e2": 1500, "e3": 2000, "e4": 2350, "e5": 3000 }
Unduh
Kembali ke Atas
Source link