Coding for KidsCoding for Kids
Kreativa NivåerUtmaningarLärarguide
Rösta på funktioner
Avancerad Pythonutvecklingskurs
Kapitel
>
Nivå

Serialiseringsmoduler
JSON-modul

Mål

Gå till servicestationen och se till att data lagras korrekt genom att använda JSON-modulen för att formatera filer.

Det finns en servicestation söder om annexbyggnaden i det nya byggområdet, och hela området kommer att omvandlas för att odla grödor. Stationen har en rad terminaler som bearbetar data för den nya utvecklingen. Vi kan arbeta med att skriva data manuellt, men det skulle ta mycket tid. För processen att hantera data kan vi använda JSON, vilket står för JavaScript Object Notation. Detta är ett dataformat som är oberoende av programmeringsspråk och lagrar information på ett lättläst sätt för datalagring och överföring.

För att använda JSON med python kan vi använda import json vilket ger oss tillgång till JSON-funktioner. För våra ändamål kommer vi att använda följande funktioner:

  • json.loads(): Konverterar en JSON-sträng till Python-data, tar ett argument, nämligen den sträng du vill parsa till Python.
  • json.dumps(): Konverterar Python-data till en JSON-sträng. Denna funktion kan ta upp till fyra (4) argument, där endast det första är ett krav för att använda funktionen. De är följande:
    1. Python-data som du vill konvertera till JSON: de kan vara av följande datatyper: dictionaries, listor, tuples, sträng, heltal, flyttal, boolean och None-datatyper.
    2. indent: antalet mellanslag du vill lägga till i början av datapunkten
    3. separators: de delar du vill ska visas mellan och/eller i slutet av datapunkterna.
    4. sort_keys: sorterar dictionary-nycklar alfabetiskt om du konverterar en dictionary.

För att komma igång, gå till den gyllene X-markeringen vid utposten till vänster och vänd dig mot disken med memot. Använd funktionen read() för att verifiera informationen som krävs för att bekräfta terminalens status och notera den. Gå sedan till den ljusa X-markeringen framför terminalen, där det finns en konstant som heter transmission. Använd json.dumps() för att formatera den som en JSON så att vi kan konvertera den, på följande vis: transmission = json.dumps(transmission) .

Skapa en dictionary som heter load och lagra värdet från json.loads() med konstanten transmission som argument. Detta konverterar JSON till Python så att informationen enkelt kan nås. Använd funktionen speak() med de nycklar som anges i memot och använd dictionaryn load du skapade. Till exempel: player.speak(load["system"]), gör detta för alla nycklar.

Efter att du har kontrollerat informationen på terminalen, gå ner mot stationen, gå in och rikta dig mot den ljusa X-markeringen över den gröna mattan. Kontrollera memot med funktionen read(), granska och notera värdena. I editorn finns en förskriven dictionary vid namn profile, fyll i de saknade värdena med informationen från memot.

Gå till den mörka X-markeringen över den gröna mattan, rikta dig mot terminalen och skapa en variabel som heter transfer och lagra värdet från json.dumps() med dictionaryn profile som enda argument. Genom att göra detta konverterar vi dictionaryn till ett JSON-strängobjekt. Använd den förskrivna funktionen display() och skicka med transfer-JSON-strängen för att lagra datan i terminalen.

Gå till den mörka X-markeringen över den röda mattan och använd funktionen read() för att verifiera att datan redan har matats in i terminalen. Datan är inte presenterad i ett korrekt format, och för att informationen skall lagras korrekt måste den formateras som JSON. Datan lagras i en dictionary-konstant som heter red_data. Skapa en variabel som heter red_storage och lagra värdet från json.dumps().

För att formatera datan, lägg till följande argument till funktionen: lägg till red_data för att konvertera konstanten till JSON, lägg till indent och sätt den till 5 för att formatera texten, lägg till separators och ange ("- ", " = ") för att lägga till dessa symboler i slutet av varje rad. Raden ska se ut så här: red_storage = json.dumps(red_data, indent=5, separators=("- ", " = ")) . Använd den förskrivna funktionen display() och skicka med JSON-strängen red_storage för att lagra och visa den formaterade datan.

Gå till den mörka X-markeringen över den blå mattan, rikta dig mot terminalen och använd funktionen read(). Precis som tidigare är datan inte lagrad korrekt och behöver formateras samt sorteras. Datan lagras i en konstant som heter blue_data. Skapa en variabel som heter blue_storage och lagra värdet från json.dumps().

För argument: lägg till blue_data för att konvertera konstanten till JSON, lägg till indent och sätt den till 4 för att formatera texten, lägg till separators och ange (".0", " = ") för att lägga till dessa symboler i slutet av varje rad. Utöver detta, lägg även till argumentet sort_keys som sista argument och sätt det till True, på följande sätt: sort_keys=True . Använd den förskrivna funktionen display() och skicka med JSON-strängen blue_storage för att lagra och visa den sorterade datan och slutföra nivån.

Kodbok