Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2023
    Messaggi
    17

    Delucidazioni su come trattare file Json in php

    Salve a tutti.
    Ho una situazione come quella che trovate tra poco suggerita da un sito per le previsioni.
    Questo funziona solo in parte sino a questo punto:

    $resolvedAddress=$response_data->resolvedAddress; - (questo stampa la località) -

    La seguente parte ignora completamente il passaggio:
    $days=$locationInstance->days; - (questo dovrebbe poi servire per far stampare i dati riassuntivi della giornata, per intenderci non quello specifico della previsione di ogni ora) -

    Perché non completa il lavoro?

    Questo file json contiene praticamente i dati meteo per una quindicina di giorni (qui ridotti a tre) con le previsioni riassuntive di ogni giornata e di ogni ora per le diverse giornate e infine la situazione corrente la currentConditions.

    Altra domanda che differenza c’è tra:
    $response_data = json_decode($json_data, true);
    e
    $response_data = json_decode($json_data, false);
    dal punto di vista tecnico, cioè come ci si deve comportare in questi 2 casi?
    Se viene omesso mi sembra che la conversione sia su false, ma non capisco le due alternative a cosa comportano, o meglio so che un modo tratta array l’altro non capisco.


    Ringrazio in anticipo.
    Inizio con questo, poi ho altre delucidazioni da chiedere in base alle risposte che mi fornirete, sono qui per imparare.

    Il file json in allegato rinominarlo ---> test.json

    Nome file ---> test.php
    codice:
    <html><head>
    <title>Timeline Weather API PHP Sample</title>
    </head>
    <body>
        
        
        <!-- Weather Forecast request construction -->
        <?php    
            $percorso_file = './test.json';
    
    
            $json_data = file_get_contents($percorso_file);
    
    
            $response_data = json_decode($json_data);
    
    
            $resolvedAddress=$response_data->resolvedAddress;
            $days=$locationInstance->days;
        ?>
        <!-- Create the HTML for the weather forecast data -->
        <h1>Weather Forecast for <?php echo $resolvedAddress; ?></h1>
        <table>
            <tr><th>Date</th><th>Max Temp</th><th>Min Temp</th><th>Temp</th><th>Hum</th><th>Cloud cover</th></tr>
            <?php
            foreach ($day as $days) {
            ?>
            <tr>
                 <td><?php echo $day->datetime; ?></td>
                 <td><?php echo $day->tempmax; ?></td>
                 <td><?php echo $day->tempmin; ?></td>
                 <td><?php echo $day->temp; ?></td>
                 <td><?php echo $day->humidity; ?></td>
                 <td><?php echo $day->cloudcover; ?></td>
            </tr>
            <?php } ?>
        </table>
    
    
        <h4>API request</h4>
        <p>
            <?php echo $api_url; ?>
        </p>
        
        
    </body>
    </html>
    File allegati File allegati
    Ultima modifica di patdepri; 19-04-2024 a 22:13

  2. #2
    Codice PHP:
    $percorso_file './test.json';
    $json_data file_get_contents($percorso_file);
    $response_data json_decode($json_datatrue);


    print(
    '<pre>');
    print_r($response_data);
    print(
    '</pre>'); 
    Se passi true, https://php.net/json_decode ti restituisce un array associativo, altrimenti un offetto.

    Personalmente preferisco lavorare con gli array.

    Ad ognio modo:

    Codice PHP:
    $days $response_data->days

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.