Bagaimana cara mendapatkan data dari json nested array di php?

JSON adalah singkatan dari Notasi Objek JavaScript. JSON adalah format pertukaran data ringan standar yang cepat dan mudah diurai dan dibuat

JSON, seperti XML, adalah format berbasis teks yang mudah ditulis dan mudah dipahami baik oleh manusia maupun komputer, tetapi tidak seperti XML, struktur data JSON menggunakan bandwidth lebih sedikit daripada versi XML-nya. JSON didasarkan pada dua struktur dasar

  • Obyek. Ini didefinisikan sebagai kumpulan pasangan kunci/nilai (mis. e.
    {
        "fruits": [
            "Apple",
            "Banana",
            "Strawberry",
            "Mango"
        ]
    }
    _0). Setiap objek diawali dengan tanda kurung kurawal kiri
    {
        "fruits": [
            "Apple",
            "Banana",
            "Strawberry",
            "Mango"
        ]
    }
    1 dan diakhiri dengan tanda kurung kurawal kanan
    {
        "fruits": [
            "Apple",
            "Banana",
            "Strawberry",
            "Mango"
        ]
    }
    2. Beberapa pasangan kunci/nilai dipisahkan dengan koma
    {
        "fruits": [
            "Apple",
            "Banana",
            "Strawberry",
            "Mango"
        ]
    }
    3
  • Himpunan. Ini didefinisikan sebagai daftar nilai yang diurutkan. Array dimulai dengan tanda kurung siku kiri
    {
        "fruits": [
            "Apple",
            "Banana",
            "Strawberry",
            "Mango"
        ]
    }
    4 dan diakhiri dengan tanda kurung siku kanan
    {
        "fruits": [
            "Apple",
            "Banana",
            "Strawberry",
            "Mango"
        ]
    }
    5. Nilai dipisahkan dengan koma
    {
        "fruits": [
            "Apple",
            "Banana",
            "Strawberry",
            "Mango"
        ]
    }
    3

Di JSON, kunci selalu berupa string, sedangkan nilainya dapat berupa

{
    "fruits": [
        "Apple",
        "Banana",
        "Strawberry",
        "Mango"
    ]
}
7,
{
    "fruits": [
        "Apple",
        "Banana",
        "Strawberry",
        "Mango"
    ]
}
8,
{
    "fruits": [
        "Apple",
        "Banana",
        "Strawberry",
        "Mango"
    ]
}
9 atau
65, "Harry"=>80, "John"=>78, "Clark"=>90);
 
echo json_encode($marks);
?>
0,
65, "Harry"=>80, "John"=>78, "Clark"=>90);
 
echo json_encode($marks);
?>
1 atau bahkan
65, "Harry"=>80, "John"=>78, "Clark"=>90);
 
echo json_encode($marks);
?>
2 atau
65, "Harry"=>80, "John"=>78, "Clark"=>90);
 
echo json_encode($marks);
?>
3. String harus diapit dengan tanda kutip ganda
65, "Harry"=>80, "John"=>78, "Clark"=>90);
 
echo json_encode($marks);
?>
4 dan dapat berisi karakter escape seperti
65, "Harry"=>80, "John"=>78, "Clark"=>90);
 
echo json_encode($marks);
?>
5,
65, "Harry"=>80, "John"=>78, "Clark"=>90);
 
echo json_encode($marks);
?>
6 dan
65, "Harry"=>80, "John"=>78, "Clark"=>90);
 
echo json_encode($marks);
?>
7. Objek JSON mungkin terlihat seperti ini

{
    "book": {
        "name": "Harry Potter and the Goblet of Fire",
        "author": "J. K. Rowling",
        "year": 2000,
        "genre": "Fantasy Fiction",
        "bestseller": true
    }
}

Sedangkan contoh array JSON akan terlihat seperti ini

{
    "fruits": [
        "Apple",
        "Banana",
        "Strawberry",
        "Mango"
    ]
}

Tip. Format pertukaran data adalah format teks yang digunakan untuk menukar atau bertukar data antara berbagai platform dan sistem operasi. JSON adalah format pertukaran data yang paling populer dan ringan untuk aplikasi web


Parsing JSON dengan PHP

Struktur data JSON sangat mirip dengan array PHP. PHP memiliki fungsi bawaan untuk menyandikan dan mendekode data JSON. Fungsi-fungsi ini masing-masing adalah

65, "Harry"=>80, "John"=>78, "Clark"=>90);
 
echo json_encode($marks);
?>
8 dan
65, "Harry"=>80, "John"=>78, "Clark"=>90);
 
echo json_encode($marks);
?>
9. Kedua fungsi hanya berfungsi dengan data string yang disandikan UTF-8

Mengkodekan Data JSON dalam PHP

Dalam PHP fungsi

65, "Harry"=>80, "John"=>78, "Clark"=>90);
 
echo json_encode($marks);
?>
_8 digunakan untuk menyandikan nilai ke format JSON. Nilai yang dikodekan dapat berupa tipe data PHP apa pun kecuali sumber daya, seperti database atau pegangan file. Contoh di bawah ini menunjukkan cara menyandikan larik asosiatif PHP menjadi objek JSON

65, "Harry"=>80, "John"=>78, "Clark"=>90);
 
echo json_encode($marks);
?>

Output dari contoh di atas akan terlihat seperti ini

{"Petrus". 65,"Harry". 80,"Yohanes". 78,"Clark". 90}

Demikian pula, Anda dapat menyandikan larik terindeks PHP ke dalam larik JSON, seperti ini

Output dari contoh di atas akan terlihat seperti ini

["Merah", "Hijau", "Biru", "Oranye", "Kuning"]

Anda juga dapat memaksa fungsi

65, "Harry"=>80, "John"=>78, "Clark"=>90);
 
echo json_encode($marks);
?>
_8 untuk mengembalikan larik terindeks PHP sebagai objek JSON dengan menggunakan opsi
2, seperti yang ditunjukkan pada contoh di bawah ini

Output dari contoh di atas akan terlihat seperti ini

{"0". "Merah", "1". "Hijau", "2". "Biru", "3". "Oranye"}

Seperti yang Anda lihat pada contoh di atas, array non-asosiatif dapat dikodekan sebagai array atau objek. Namun, array asosiatif selalu dikodekan sebagai objek


Mendekode Data JSON di PHP

Mendekode data JSON sesederhana menyandikannya. Anda dapat menggunakan fungsi PHP

65, "Harry"=>80, "John"=>78, "Clark"=>90);
 
echo json_encode($marks);
?>
_9 untuk mengonversi string yang disandikan JSON menjadi tipe data PHP yang sesuai. Contoh berikut menunjukkan cara mendekode atau mengonversi objek JSON menjadi objek PHP

Output dari contoh di atas akan terlihat seperti ini

objek(stdClass)#1 (4) { ["Peter"]=> int(65) ["Harry"]=> int(80) ["John"]=> int(78) ["Clark"]=>

Secara default fungsi

65, "Harry"=>80, "John"=>78, "Clark"=>90);
 
echo json_encode($marks);
?>
_9 mengembalikan objek. Namun, Anda dapat secara opsional menentukan parameter kedua
5 yang menerima nilai boolean yang bila disetel sebagai 
6 objek JSON didekodekan menjadi array asosiatif. Ini adalah 
_7 secara default. Ini sebuah contoh

Output dari contoh di atas akan terlihat seperti ini

array(4) { ["Peter"]=> int(65) ["Harry"]=> int(80) ["John"]=> int(78) ["Clark"]=> int(90) }

Sekarang mari kita lihat contoh yang akan menunjukkan kepada Anda cara mendekode data JSON dan mengakses elemen individual dari objek atau larik JSON di PHP

Peter;   // Output: 65
echo $obj->Harry;   // Output: 80
echo $obj->John;    // Output: 78
echo $obj->Clark;   // Output: 90
?>

Anda juga dapat mengulang melalui data yang didekodekan menggunakan

8 loop, seperti ini

$value){
    echo $key . "=>" . $value . "
"; } echo "
"; // Decode JSON data to PHP object $obj = json_decode($json); // Loop through the object foreach($obj as $key=>$value){ echo $key . "=>" . $value . "
"; } ?>


Mengekstraksi Nilai dari Data JSON Bersarang di PHP

Objek dan larik JSON juga dapat disarangkan. Objek JSON dapat secara sewenang-wenang berisi objek JSON lainnya, array, array bersarang, array objek JSON, dan seterusnya. Contoh berikut akan menunjukkan cara mendekode objek JSON bersarang dan mencetak semua nilainya dalam PHP

Bagaimana cara mendapatkan data dari beberapa array JSON di PHP?

$hasil = json_decode(json_encode($produk),true); . "; echo $result['mengambil']; echo "total pecahan. "; echo $hasil['_pecahan']['total'];

Bagaimana cara mengakses data array JSON di PHP?

1. Mengakses data JSON sebagai objek PHP. Secara default fungsi json_decode() mengembalikan objek. Untuk mengakses data objek PHP, Anda menggunakan operator objek (->) setelah nama objek, diikuti dengan kunci key-value pair .

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 mencetak nilai array JSON di PHP?

Kita dapat menggunakan fungsi json_encode() untuk menulis nilai dalam format JSON . Kita dapat merender setiap jenis array di PHP seperti array terdaftar, array asosiatif, dan objek ke format JSON. Fungsi json_encode() memiliki opsi JSON_PRETTY_PRINT yang mempercantik string JSON.