Mit PHP habe ich diese JSON-Antwort dekodiert.

Array ( [Request] => Array ( [RequestGuid] => 4ca35135-2560-42ef-bd63-6b22cbf369ed [PackageId] => c1bf0061-b0b7-4f71-8a9a-43d6e468e5ec [PackageVersion] => 2 [ResponseVersion] => 2 [DataKeys] => Array ( [Vrm] => KM14AKK ) ) [Response] => Array ( [StatusCode] => Success [StatusMessage] => Success [StatusInformation] => Array ( [Lookup] => Array ( [StatusCode] => Success [StatusMessage] => Success [AdviceTextList] => Array ( ) ) )

Wenn ich renne ...

  $data = json_decode($response, true);
  for ($i=0;$i<count($jsonArray);$i++){
    echo $jsonArray[$i];
  }

Ich bekomme den Fehler ...

Notice: Undefined offset: 0

Irgendwelche schnellen Hinweise, wie man auf Daten in diesem Feed zugreift, Arrays blagen immer meinen Kopf, ich kann sehen, dass es keinen Schlüssel in diesem gibt?

Vielen Dank.

-1
Jason 18 Apr. 2018 im 13:33

4 Antworten

Beste Antwort

Verwenden Sie die foreach Schleife anstelle der for Schleife. Ändern Sie die Schleife wie folgt:

$data = json_decode($response, true);
  for ($i=0;$i<count($jsonArray);$i++){
    echo $jsonArray[$i];
  }

Zu:

$data = json_decode($response, true);
foreach($data as $d){
   print_r($d); 
}

Hier haben Ihre $response JSON-Daten keinen Indexwert. Es hat ein keys and values Paar. Sie können hier also keinen Index verwenden.

1
Gufran Hasan 18 Apr. 2018 im 10:40

Sie sollten beachten, dass das Array keinen 0-Index hat, zweitens, es ist ein mehrdimensionales Array, Sie können sein Element nicht wiedergeben.

Versuchen

 $data = json_decode($response);
  foreach ($data as $da){
    var_dump($da);
  }
0
Prafulla Kumar Sahu 18 Apr. 2018 im 10:36

Versuche dies

$data = json_decode($response, true);
for ($i=0;$i<count($data);$i++){
    echo $data[$i];
}
0
Hussam Barbour 18 Apr. 2018 im 10:42
$data = json_decode($response, true);
  for ($i=0;$i<count($jsonArray);$i++){
    echo $jsonArray[$i];
  }

In Ihrem Code hat $ jsonArray - no where definiert.

0
bansal 18 Apr. 2018 im 10:45