• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Frage API / JSON Variablen speichern

sveka

Mitglied
Hallo, ich benötige eure Hilfe bzw. Denkansätze. :)

Es geht um eine externe JSON Abfrage per API.

Und zwar wie folgt ... Ich kann über einen erzeugten Link wie z.B. https://re.jrc.ec.europa.eu/api/PVcalc?lat=45&lon=8&peakpower=1&loss=14&outputformat=json

eine JSON Ausgabe bekommen. Ich möchte aber (da es eine externe Abfrage ist) eine Rückantwort um gewisse Werte in Variablen zu speichern.

Geht das? Wenn ja, mit welchen Befehlen muss ich mich beschäftigen?

Ich danke für euer Feedback.
 
Werbung:
Hallo,

folgender Code liegt nun zu Grunde.

Code:
<?php 

error_reporting(E_ALL);

$url = 'https://re.jrc.ec.europa.eu/api/PVcalc?lat=45&lon=8&peakpower=1&loss=14&outputformat=json';

    $curl = curl_init();
    $headers = array();
    curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
    curl_setopt($curl, CURLOPT_HEADER, 0);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($curl, CURLOPT_URL, $url);
    curl_setopt($curl, CURLOPT_TIMEOUT, 30);
    $json = curl_exec($curl);
    curl_close($curl);
     
    $data = json_decode($json, TRUE); 

    var_dump($json);

   
?>

Die Var-Dump Ausgabe funktioniert und er holt sich das "JSON". Nun habe ich versucht darauf per Array oder Objekte zuzugreifen.

Jedes Mal mit Fehlermeldungen wie zB. fehlender INDEX etc.

Wie greife ich nun die Daten "ab"?
 
Werbung:
Hallo,

habe den Code nochmal angepast um mir das Array anzeigen zu lassen. Nun kann ich auch zugreifen.

Code:
<?php 

error_reporting(E_ALL);

$url = 'https://re.jrc.ec.europa.eu/api/PVcalc?lat=45&lon=8&peakpower=1&loss=14&outputformat=json';

    $curl = curl_init();
    $headers = array();
    curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
    curl_setopt($curl, CURLOPT_HEADER, 0);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($curl, CURLOPT_URL, $url);
    curl_setopt($curl, CURLOPT_TIMEOUT, 30);
    $json = curl_exec($curl);
    curl_close($curl);
     
    $data = json_decode($json, TRUE); 

    // var_dump($data);

    echo "<pre>";
    print_r($data);
    echo "</pre>";

     echo "<br /><br />";

    echo $data[inputs][meteo_data][meteo_db];
?>

Allerdings gibt er mir trotz erfolgreichen Zugriffs folgende Fehler aus ...

Notice: Use of undefined constant inputs - assumed 'inputs' in /../json.php on line 27

Notice
: Use of undefined constant meteo_data - assumed 'meteo_data' in /.../json.php on line 27

Notice
: Use of undefined constant meteo_db - assumed 'meteo_db' in /.../json.php on line 27

Gibt es dafür noch Hinweise?
 
Werbung:
Zurück
Oben