PHP: JSON mit Kommazahlen auslesen?

2 Antworten

Vom Beitragsersteller als hilfreich ausgezeichnet
<?php

$data = '{
  "ok":true,
  "data":"MTS-K",
  "prices":{
     "A1234":{
        "status":"open",
        "e5":1.469,
        "e10":1.239,
        "diesel":1.349
     },
     "A5678":{
        "status":"open",
        "e5":1.149,
        "e10":1.129,
        "diesel":1.389
     },
     "A9101112":{
        "status":"open",
        "e5":1.139,
        "e10":1.189,
        "diesel":1.289
     }
  }
}';

echo json_decode($data)->prices->A1234->status;

Ausgabe : open

Der Fehler liegt vermutlich eher darin, dass es auch Einträge ohne diesel gibt. Du musst also bei optionalen Feldern vorher testen, ob es diesel überhaupt gibt:

$data = json_decode($data);

if (isset($data->prices->ID_HIER->diesel)) {
  echo $data->prices->ID_HIER->diesel;
} else {
  echo 'Die haben keinen Diesel';
}
Woher ich das weiß:Berufserfahrung – Entwickle seit > 20 Jahren Anwendungen mit PHP.