Php cara mengekstrak json

// Encode some data with a maximum depth of 4 (array -> array -> array -> string)
$json = json_encode(
array(
1 => array(
'English' => array(
'One',
'January'
),
'French' => array(
'Une',
'Janvier'
)
)
)
);

// Show the errors for different depths.
var_dump(json_decode($json, true, 4));
echo 'Last error: ', json_last_error_msg(), PHP_EOL, PHP_EOL;

var_dump(json_decode($json, true, 3));
echo 'Last error: ', json_last_error_msg(), PHP_EOL, PHP_EOL;
?>

Kami akan menggunakan fungsi bawaan json_decode() untuk mengekstrak data dari JSON. Kami akan mengonversi string JSON menjadi objek atau larik untuk mengekstrak data. Sintaks yang benar untuk menggunakan fungsi ini adalah sebagai berikut

json_decode($jsonString, $assoc, $depth, $options);

Fungsi bawaan json_decode() memiliki empat parameter. Rincian parameternya adalah sebagai berikut

ParameterDeskripsi
 
    
2wajibIni adalah string yang disandikan JSON tempat kami ingin mengekstrak data.
 
    
_3opsionalIni adalah variabel
 
    
4. Jika itu BENAR, fungsi akan mengembalikan array asosiatif. Jika FALSE, fungsi akan mengembalikan objek.
 
    
_5opsionalIni adalah bilangan bulat. Ini menentukan kedalaman yang ditentukan.
 
    
_6opsionalIni menentukan bitmask dari
 
    
7,
 
    
8,
 
    
9,
The data is: 
object(stdClass)#1 (3) {
  ["firstName"]=>
  string(6) "Olivia"
  ["lastName"]=>
  string(5) "Mason"
  ["dateOfBirth"]=>
  object(stdClass)#2 (3) {
    ["year"]=>
    string(4) "1999"
    ["month"]=>
    string(2) "06"
    ["day"]=>
    string(2) "19"
  }
}
0,
The data is: 
object(stdClass)#1 (3) {
  ["firstName"]=>
  string(6) "Olivia"
  ["lastName"]=>
  string(5) "Mason"
  ["dateOfBirth"]=>
  object(stdClass)#2 (3) {
    ["year"]=>
    string(4) "1999"
    ["month"]=>
    string(2) "06"
    ["day"]=>
    string(2) "19"
  }
}
1. Anda dapat memeriksa detailnya di sini

Fungsi ini mengembalikan NULL jika string JSON tidak dalam format yang tepat. Ini mengembalikan array atau objek asosiatif tergantung pada parameter

 
    
3

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 ________12______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 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, masing-masing. 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 array 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 ditetapkan 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 mengakses objek JSON di PHP?

PHP dan JSON .
Fungsi json_encode() digunakan untuk menyandikan nilai ke format JSON
Fungsi json_decode() digunakan untuk mendekode objek JSON menjadi objek PHP atau array asosiatif
Fungsi json_decode() mengembalikan objek secara default. .
Anda juga dapat mengulang nilai dengan loop foreach()

Bagaimana kita bisa mengekstrak file JSON?

Untuk mengekstrak nama dan memproyeksikan properti dari string JSON, gunakan fungsi json_extract seperti pada contoh berikut. Fungsi json_extract mengambil kolom yang berisi string JSON, dan mencarinya menggunakan ekspresi mirip JSONPath dengan titik. notasi. JSONPath melakukan traversal pohon sederhana.

Bagaimana cara mengakses string JSON di PHP?

Mengakses data JSON sebagai objek PHP . Untuk mengakses data objek PHP, Anda menggunakan operator objek (->) setelah nama objek, diikuti dengan kunci key-value pair . Ini sama dengan nama pada pasangan nama-nilai di objek JSON misalnya $data->firstName.

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