Coding for KidsCoding for Kids
Livelli CreativiSfideGuida per Insegnanti
Vota per le funzionalità
Corso Avanzato di Sviluppo Python
Capitolo
>
Livello

Moduli di serializzazione
Modulo JSON

Obiettivo

Vai alla stazione di servizio e assicurati che i dati siano memorizzati correttamente utilizzando il modulo JSON per formattare i file.

C'è una stazione di servizio a sud dell'edificio annesso nell'area della nuova costruzione, e quest'intera area verrà riqualificata per piantare colture. La stazione dispone di una varietà di terminal che elaborano i dati per il nuovo sviluppo; possiamo lavorare scrivendo i dati manualmente, ma ciò richiederebbe molto tempo. Per il processo di gestione dei dati possiamo utilizzare JSON, che sta per JavaScript Object Notation, un formato dati indipendente dai linguaggi di programmazione che memorizza le informazioni in una forma facilmente leggibile per l'archiviazione e la trasmissione dei dati.

Per utilizzare JSON con python possiamo usare import json che ci darà accesso alle funzioni JSON. Per i nostri scopi utilizzeremo le seguenti funzioni:

  • json.loads(): Converte una stringa JSON in un dato Python, accetta un argomento, ovvero la stringa che desideri convertire in Python.
  • json.dumps(): Converte un dato Python in una stringa JSON; questa funzione può accettare fino a quattro (4) argomenti, solo il primo è obbligatorio. Essi sono i seguenti:
    1. Il dato Python che desideri convertire in JSON: può essere di uno dei seguenti tipi di dati: dizionari, liste, tuple, stringhe, interi, float, booleani e il tipo di dato None.
    2. indent: il numero di spazi che desideri aggiungere all'inizio del punto dati.
    3. separators: queste sono le porzioni che desideri appaiano tra e/o alla fine dei punti dati.
    4. sort_keys: ordina le chiavi del dizionario in ordine alfabetico se stai convertendo un file di tipo dizionario.

Per iniziare, dirigiti verso il segno X dorato nell'avamposto a sinistra e rivolgi il viso al desk con il promemoria. Usa la funzione read() per verificare le informazioni necessarie a confermare lo stato del terminal e annotarle. Cammina verso il segno X luminoso davanti al terminal; c'è una costante chiamata transmission, usa json.dumps() per formattarla come json in modo da poterla convertire, in questo modo: transmission = json.dumps(transmission).

Crea un dizionario chiamato load e memorizza il valore di json.loads() con la costante transmission come argomento. Questo convertirà il Json in Python, rendendo le sue informazioni facilmente accessibili. Utilizza la funzione speak() con le chiavi indicate nel promemoria e usando il dizionario load che hai creato. Per esempio: player.speak(load["system"]), e ripeti l'operazione per tutte le chiavi.

Dopo aver verificato le informazioni sul terminal, dirigiti verso la stazione, entra e vai al segno X luminoso sul tappeto verde. Controlla il promemoria usando la funzione read(), verifica e annota i valori, nell'editor c'è un dizionario predefinito chiamato profile; completa i valori mancanti con le informazioni del promemoria.

Cammina verso il segno X scuro sul tappeto verde, rivolgi il viso al terminale e crea una variabile chiamata transfer memorizzando il valore di json.dumps() con il dizionario profile come unico argomento. In questo modo si converte il dizionario in una stringa JSON. Utilizza la funzione predefinita display() e passa il Json transfer per memorizzare i dati nel terminale.

Cammina verso il segno X scuro sul tappeto rosso e usa la funzione read() per verificare i dati già inseriti nel terminale. I dati non sono presentati in un formato corretto; per memorizzare correttamente le informazioni devono essere salvati e formattati in un Json. I dati sono memorizzati in una costante dizionario chiamata red_data; crea una variabile chiamata red_storage e assegna il valore della funzione json.dumps().

Per formattare i dati, aggiungi i seguenti argomenti alla funzione: passa red_data per convertire la costante in Json, aggiungi indent impostato a 5 per formattare il testo, aggiungi separators con il valore ("- ", " = ") per aggiungere questi simboli alla fine di ogni riga. La riga dovrebbe apparire così: red_storage = json.dumps(red_data, indent=5, separators=("- ", " = ")). Utilizza la funzione predefinita display() e passa la stringa Json red_storage per memorizzare e visualizzare i dati formattati.

Cammina verso il segno X scuro sul tappeto blu, rivolgi il viso al terminale e usa la funzione read(). Come prima, i dati non sono memorizzati correttamente e devono essere formattati e ordinati. I dati sono memorizzati in una costante chiamata blue_data; crea una variabile chiamata blue_storage e assegna il valore della funzione json.dumps().

Per gli argomenti: passa blue_data per convertire la costante in Json, aggiungi indent impostato a 4 per formattare il testo, aggiungi separators con il valore (".0", " = ") per aggiungere questi simboli alla fine di ogni riga. Inoltre, aggiungi l'argomento sort_keys alla fine e impostalo a True, in questo modo: sort_keys=True. Utilizza la funzione predefinita display() e passa la stringa Json blue_storage per memorizzare e visualizzare i dati ordinati e completare il livello.

Libro del Codice