Wie man Daten aus JSON in PHP extrahiert
In diesem Artikel stellen wir Methoden vor, um Daten aus JSON in PHP zu extrahieren.
- Verwendung der Funktion
json_decode()
Verwenden Sie die Funktion json_decode()
, um Daten aus JSON in PHP zu extrahieren
Wir werden die eingebaute Funktion json_decode()
verwenden, um Daten aus JSON zu extrahieren. Wir werden die JSON-String in ein Objekt oder ein Array
konvertieren, um die Daten zu extrahieren. Die korrekte Syntax zur Verwendung dieser Funktion lautet wie folgt.
json_decode($jsonString, $assoc, $depth, $options);
Die eingebaute Funktion json_decode()
hat vier Parameter. Die Einzelheiten ihrer Parameter sind wie folgt
Parameter | Beschreibung | |
---|---|---|
$jsonString |
obligatorisch | Es ist der JSON-kodierte String , aus dem wir die Daten extrahieren wollen. |
$assoc |
optional | Es ist eine Boolean -Variable. Wenn sie TRUE ist, gibt die Funktion ein assoziatives Array zurück. Wenn sie FALSE ist, gibt die Funktion das Objekt zurück. |
$depth |
optional | Es ist eine ganze Zahl. Sie gibt Auskunft über die angegebene Tiefe. |
$options |
optional | Es berichtet über die Bitmaske von JSON_BIGINT_AS_STRING **, JSON_INVALID_UTF8_IGNORE , JSON_INVALID_UTF8_SUBSTITUTE , JSON_OBJECT_AS_ARRAY , **JSON_THROW_ON_ERROR . Sie können ihre Angaben hier überprüfen. |
Diese Funktion gibt NULL zurück, wenn die JSON-String nicht im richtigen Format ist. Sie gibt ein assoziatives Array
oder Objekt zurück, abhängig vom Parameter $assoc
.
Das Programm unten zeigt, wie wir die Funktion json_decode()
verwenden können, um Daten aus einer JSON-String zu extrahieren.
<?php
$jsonString ='{
"firstName":"Olivia",
"lastName":"Mason",
"dateOfBirth":
{
"year":"1999",
"month":"06",
"day":"19"
}
}';
$data = json_decode($jsonString);
echo("The data is: \n");
var_dump($data);
?>
Die Funktion wird ein Objekt zurückgeben, weil wir den Parameter $assoc
nicht übergeben haben.
Ausgabe:
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"
}
}
Wenn wir den Parameter $assoc
übergeben, gibt die Funktion ein assoziatives Array zurück.
<?php
$jsonString ='{
"firstName":"Olivia",
"lastName":"Mason",
"dateOfBirth":
{
"year":"1999",
"month":"06",
"day":"19"
}
}';
$data = json_decode($jsonString, true);
echo("The data is: \n");
var_dump($data);
?>
Ausgabe:
The data is:
array(3) {
["firstName"]=>
string(6) "Olivia"
["lastName"]=>
string(5) "Mason"
["dateOfBirth"]=>
array(3) {
["year"]=>
string(4) "1999"
["month"]=>
string(2) "06"
["day"]=>
string(2) "19"
}
}
Wenn die Funktion ein Objekt zurückgegeben hat, können wir wie folgt auf die Daten zugreifen:
<?php
$jsonString ='{
"firstName":"Olivia",
"lastName":"Mason",
"dateOfBirth":
{
"year":"1999",
"month":"06",
"day":"19"
}
}';
$data = json_decode($jsonString);
echo("The first name is: \n");
echo $data->firstName;
?>
Die Funktion gibt den Vornamen aus den extrahierten Daten zurück.
Ausgabe:
The first name is:
Olivia
Wenn die Funktion ein Array
zurückgegeben hat, können wir auf folgende Weise direkt auf die Daten zugreifen:
<?php
$jsonString ='{
"firstName":"Olivia",
"lastName":"Mason",
"dateOfBirth":
{
"year":"1999",
"month":"06",
"day":"19"
}
}';
$data = json_decode($jsonString, true);
echo("The first name is: \n");
echo $data['firstName'];
?>
Die Funktion gibt den Vornamen aus den extrahierten Daten zurück.
Ausgabe:
The first name is:
Olivia
Wir können auch durch unser Array
iterieren.
<?php
$jsonString ='{
"firstName":"Olivia",
"lastName":"Mason",
"dateOfBirth": "19-09-1999"
}';
$data = json_decode($jsonString, true);
foreach ($data as $key=> $data1) {
echo $key, " : ";
echo $data1, "\n";
}
?>
Die Funktion gibt die extrahierten Daten zurück.
Ausgabe:
firstName : Olivia
lastName : Mason
dateOfBirth : 19-09-1999