Json_decode() adalah fungsi bawaan di php yang digunakan untuk mengonversi string yang disandikan JSON ke variabel yang sesuai di php Show
Secara umum, json_decode digunakan untuk mengubah json menjadi array di PHP tetapi juga memiliki kegunaan lain Sintaksis
Parameter
Kembali Fungsi json_decode() menerjemahkan string JSON ke tipe PHP yang sesuai berdasarkan parameter Ketika true, false, atau null diteruskan untuk JSON, fungsi mengembalikan true, false, atau null yang sama. Jika JSON gagal didekodekan atau JSON lebih dalam dari kedalaman yang diberikan maka null akan dikembalikan Cara mendekode json ke array di PHPContoh Keluaran _Cara mendekode json ke objek di PHPJika Anda tidak memberikan parameter kedua, atau memberikan false, json_decode() akan mengurai JSON ke objek stdClass karena itu Anda dapat menggunakan notasi panah "→" untuk mengakses properti objek Contoh Keluaran KesimpulanInilah penjelasan sederhana tentang cara kerja json_encode() dan bagaimana Anda dapat mengurai json ke array atau objek kelas di PHP Dokumen JSON dapat membuat objek JSON bersarang di dalam objek JSON lainnya. Objek JSON adalah pasangan nilai kunci dan ada metode berbeda yang dapat Anda gunakan untuk mengakses objek JSON dari dokumen JSON bersarang. Salah satu metodenya adalah menggunakan rekursi seperti Anda mengakses data dari susunan bersarang atau struktur data pohon. Metode lain adalah dengan menggunakan loop. Mari kita lihat beberapa contoh untuk mengakses data dokumen JSON bersarang seperti di bawah ini [{ "id": 1, "name": "Max Adams", "born": "21 Oct 2001", "cars": [ {"make": "Mercedes", "model": "GLS" }, {"make": "Audi", "model": "Q8" } ], "favourite": { "colour": "Blue", "movie": "Toy Story" } }, { "id": 2, "name": "Steven Miller", "born": "28 Jul 2004", "cars": [ {"make": "Tesla", "model": "Model S"} ], "favourite": { "colour": "Red", "movie": "Mulan" } }, { "id": 3, "name": "Daniel James", "born": "18 Dec 2005", "cars": [ {"make": "Bugatti", "model": "Chiron"} ], "favourite": { "colour": "Yellow", "movie": "Frozen", "toy": "Teddy" } }] Membaca JSONPertimbangkan bahwa contoh JSON kami disimpan dalam file bernama "persons. txt". Pertama baca isi file teks ke dalam variabel string menggunakan fungsi foreach($json_array as $elem) { echo($elem['id']. ", ".$elem['name'] ); echo("4 dan kemudian gunakan fungsi foreach($json_array as $elem) { echo($elem['id']. ", ".$elem['name'] ); echo("5 untuk mengonversi string JSON ke variabel PHP $filepath = './persons.txt'; $json_string = file_get_contents($filepath); $json = json_decode($json_string, true); Perhatikan bahwa argumen kedua dalam fungsi foreach($json_array as $elem) { echo($elem['id']. ", ".$elem['name'] ); echo("_6 diatur ke foreach($json_array as $elem) { echo($elem['id']. ", ".$elem['name'] ); echo("7 sehingga objek yang dikembalikan akan menjadi array asosiatif Untuk detail lebih lanjut tentang mem-parsing JSON di PHP, baca Cara mem-parse JSON di PHP Mengakses objek di dalam array JSONUntuk mengakses objek di dalam array JSON, metode paling sederhana dan termudah adalah dengan menggunakan foreach($json_array as $elem) { echo($elem['id']. ", ".$elem['name'] ); echo("8 loop untuk beralih melalui elemen array dan mengambil data yang Anda butuhkan. Misalnya, untuk mencetak semua nama dan nomor id dari contoh dokumen JSON kita foreach($json_array as $elem) { echo($elem['id']. ", ".$elem['name'] ); echo(" Ini akan menghasilkan 2, Steven Miller 3, Daniel James Mengakses objek Bersarang di dalam larik JSONNilai JSON bisa berupa objek JSON lainnya. Dalam contoh JSON kami, ada tiga objek JSON yang masing-masing sesuai dengan detail tentang seseorang. Untuk setiap orang, ada kunci bernama favorite yang nilainya adalah objek JSON lainnya. Anda dapat mengakses objek JSON dalam ini seperti halnya Anda mengakses larik asosiatif multidimensi Untuk mencetak semua nama dan warna favorit yang sesuai foreach($json as $elem) { echo( $elem['name']." - ".$elem['favourite']['colour'] ); echo(" Keluaran Max Adams - Blue Steven Miller - Red Daniel James - Yellow Mengakses array JSON di dalam JSON bersarangJika Anda memiliki larik di dalam objek JSON bersarang, gunakan dua foreach($json_array as $elem) { echo($elem['id']. ", ".$elem['name'] ); echo("8 loop untuk mengakses elemen larik dalam Untuk mencetak semua nama dan mobil yang sesuai foreach($json as $elem) { echo( $elem['name']. " : " ); foreach ($elem['cars'] as $car ) { echo($car['make']. ", "); } echo(" Keluaran Max Adams : Mercedes, Audi, Steven Miller : Tesla, Daniel James : Bugatti, Berikut adalah contoh lain untuk mencetak jumlah mobil yang dimiliki setiap orang foreach($json as $elem) { echo( $elem['name'].": ".count($elem['cars'])); echo(" Keluaran Max Adams: 2 Steven Miller: 1 Daniel James: 1 Telusuri JSON bersarang berdasarkan nilaiSejauh ini, kita telah melihat cara mengakses semua objek pada level tertentu. Sekarang kita belajar cara mencari JSON bersarang untuk nilai tertentu Contoh pertama kami adalah menemukan semua orang yang memiliki 'Tesla' dari sampel JSON kami $filepath = './persons.txt'; $json_string = file_get_contents($filepath); $json = json_decode($json_string, true);0 Keluaran $filepath = './persons.txt'; $json_string = file_get_contents($filepath); $json = json_decode($json_string, true);1 Pada contoh selanjutnya, kita mencari orang yang menyukai warna 'Biru' $filepath = './persons.txt'; $json_string = file_get_contents($filepath); $json = json_decode($json_string, true);2 Keluaran $filepath = './persons.txt'; $json_string = file_get_contents($filepath); $json = json_decode($json_string, true);_3 Cari JSON bersarang dengan kunciDalam contoh berikut ini kami mencari kunci, bukan nilai. Misalnya untuk mencari orang yang memiliki mainan kesukaan $filepath = './persons.txt'; $json_string = file_get_contents($filepath); $json = json_decode($json_string, true);_4 Keluaran $filepath = './persons.txt'; $json_string = file_get_contents($filepath); $json = json_decode($json_string, true);5 Secara rekursif mendapatkan semua kunci dan nilaiSekarang kita melihat metode lain untuk mengakses data dari JSON bersarang - Rekursi. Dalam metode ini kami membuat fungsi yang memanggil dirinya sendiri hingga kondisi tertentu terpenuhi Mari kita mulai dengan cuplikan kode sederhana untuk mencetak semua kunci dan nilai dalam contoh dokumen JSON kita $filepath = './persons.txt'; $json_string = file_get_contents($filepath); $json = json_decode($json_string, true);_6 Dalam kode di atas, fungsi 2, Steven Miller 3, Daniel James_0 memanggil dirinya sendiri jika nilainya adalah array, sebaliknya mencetak kunci dan nilai Keluaran $filepath = './persons.txt'; $json_string = file_get_contents($filepath); $json = json_decode($json_string, true);_7 Cari berdasarkan Kunci ATAU Nilai Secara RekursifAnda dapat mencari secara rekursif berdasarkan kunci atau nilai di dalam JSON bersarang dengan sedikit modifikasi pada kode di atas. Yang Anda butuhkan hanyalah mendefinisikan fungsi yang membutuhkan dua argumen - larik dan Kunci/Nilai. Anda kemudian menjalankan rekursi yang sama seperti sebelumnya tetapi Anda memiliki 2, Steven Miller 3, Daniel James1 kondisi lain untuk memeriksa kunci/nilai yang ditentukan Berikut adalah contoh untuk mendapatkan semua model mobil $filepath = './persons.txt'; $json_string = file_get_contents($filepath); $json = json_decode($json_string, true);_8 Keluaran $filepath = './persons.txt'; $json_string = file_get_contents($filepath); $json = json_decode($json_string, true);_9 Demikian pula, Anda dapat mencari nilai. Misalnya, untuk menemukan semua orang yang lahir pada tanggal tertentu foreach($json_array as $elem) { echo($elem['id']. ", ".$elem['name'] ); echo("0 Keluaran foreach($json_array as $elem) { echo($elem['id']. ", ".$elem['name'] ); echo("1 Cari berdasarkan Kunci DAN Nilai Secara RekursifPada contoh sebelumnya, Anda menelusuri kunci atau nilai dan menggemakan pasangan nilai kunci tersebut saat ditemukan. Namun, sebagian besar waktu Anda mungkin ingin menelusuri kunci atau nilai dan menggemakan simpul Induknya atau pasangan nilai kunci yang berbeda. Misalnya, Anda ingin mencari tanggal dan menggemakan nama orang yang lahir pada tanggal tersebut. Atau, cari mobil dan cari orang yang punya mobil itu. Inilah fungsi untuk melakukan itu foreach($json_array as $elem) { echo($elem['id']. ", ".$elem['name'] ); echo("2 Keluaran foreach($json_array as $elem) { echo($elem['id']. ", ".$elem['name'] ); echo("_3 PHP juga menyediakan beberapa fungsi array bawaan untuk mendapatkan data dari JSON bersarang, setelah string JSON didekodekan ke objek PHP. Hal ini akan kita bahas pada postingan selanjutnya Bagaimana cara mengekstrak data dari JSON di PHP?Membaca JSON Dari File atau String di PHP
. Setelah data berada dalam string, Anda dapat memanggil fungsi json_decode() untuk mengekstrak informasi dari string .
Bagaimana cara mendapatkan kunci dan nilai dari objek array JSON di PHP?secara default, json_decode menampilkan elemen sebagai objek, jika Anda ingin array asosiatif sebagai gantinya, gunakan json_decode($string, true) – Kaddath. 4 Januari 2018 pukul 12. 28 $val Anda adalah sebuah array (lihat struktur json). Anda juga memerlukan loop dalam seperti foreach ($val as $item){ // kode Anda} – YvesLeBorg Bagaimana cara mendapatkan data posting JSON di PHP?Kirim data JSON melalui POST dengan PHP cURL . Tentukan URL ( $url ) tempat data JSON akan dikirim Mulai sumber daya cURL baru menggunakan curl_init() Siapkan data dalam larik PHP dan enkode menjadi string JSON menggunakan json_encode() Lampirkan data JSON ke kolom POST menggunakan opsi CURLOPT_POSTFIELDS Bagaimana cara mencetak array json_encode di PHP?$c = larik(larik(1,2,3)); . ", json_encode($c), "\n"; echo "Output array non-asosiatif sebagai objek. ", json_encode($c, JSON_FORCE_OBJECT), "\n\n"; $d = array('foo' => 'bar', 'baz' => 'panjang'); |