Coding for KidsCoding for Kids
Creatieve LevelsUitdagingenLerarengids
Stem op functies
Gevorderde Python-ontwikkelingscursus
Hoofdstuk
>
Niveau

Serialisatie-modules
JSON-module

Doel

Ga naar het servicecentrum en zorg ervoor dat de gegevens correct worden opgeslagen door de JSON-module te gebruiken om bestanden op te maken.

Er is een servicecentrum ten zuiden van het bijgebouw in het nieuwe bouwgebied; dat hele gebied wordt herontwikkeld voor de teelt van gewassen. Het centrum beschikt over verschillende terminals die gegevens verwerken voor de nieuwe ontwikkeling. We zouden de gegevens handmatig kunnen invoeren, maar dat zou veel tijd kosten. Voor het verwerken van gegevens kunnen we JSON gebruiken, wat staat voor JavaScript Object Notation. Dit is een gegevensformaat dat onafhankelijk is van programmeertalen en informatie opslaat in een gemakkelijk leesbaar formaat voor dataopslag en -overdracht.

Om JSON in Python te gebruiken, kunnen we import json gebruiken, wat ons toegang geeft tot JSON-functies. Voor onze doeleinden zullen we de volgende functies gebruiken:

  • json.loads(): Zet een JSON-string om in Python-gegevens. Neemt één argument, namelijk de string die je wilt parseren naar Python.
  • json.dumps(): Zet Python-gegevens om in een JSON-stringobject. Deze functie kan tot vier (4) argumenten nemen, waarvan alleen het eerste vereist is om de functie te gebruiken. Deze zijn als volgt.
    1. Python-gegevens die je wilt omzetten naar JSON: dit kan van de volgende gegevenstypen zijn: dictionaries, lijsten, tuples, string, integer, float, boolean en None.
    2. indent: het aantal spaties dat je aan het begin van het gegeven wilt toevoegen.
    3. separators: dit zijn de onderdelen die je wilt laten verschijnen tussen en/of aan het einde van de gegevenspunten.
    4. sort_keys: sorteert de sleutels van een dictionary alfabetisch als je een dictionary aan het converteren bent.

Om te beginnen, ga naar het gouden X-teken in het voorpostje aan de linkerkant en wend je tot de balie met het memorandum. Gebruik de read()-functie om de benodigde informatie te verifiëren voor het bevestigen van de status van de terminal en maak er een notitie van. Loop naar het lichte X-teken voor de terminal, er is een constante genaamd transmission. Gebruik json.dumps() om het als JSON te formatteren zodat we het kunnen converteren, zoals dit: transmission = json.dumps(transmission) .

Maak een dictionary genaamd load en sla de waarde van json.loads() op met de constante transmission als argument. Dit zal de JSON converteren naar Python, zodat de informatie gemakkelijk toegankelijk is. Gebruik de speak()-functie met de sleutels die in het memorandum staan en maak daarbij gebruik van de dictionary load die je hebt aangemaakt. Bijvoorbeeld: player.speak(load["system"]) . Doe dit voor alle sleutels.

Nadat je de informatie op de terminal hebt gecontroleerd, loop je naar het servicecentrum, ga naar binnen en beweeg naar het lichte X-teken op het groene tapijt. Controleer het memorandum met de read()-functie, controleer en noteer de waarden. In de editor is er een vooraf geschreven dictionary genaamd profile; vul de ontbrekende waarden in met de informatie uit het memorandum.

Loop naar het donkere X-teken op het groene tapijt, wend je tot de terminal en maak een variabele genaamd transfer aan en sla daarin de waarde van json.dumps() op, waarbij de dictionary profile als enig argument wordt toegevoegd. Door dit te doen, converteren we de dictionary naar een JSON-stringobject. Gebruik de vooraf geschreven display()-functie en voeg de transfer JSON toe om de gegevens op de terminal op te slaan.

Loop naar het donkere X-teken op het rode tapijt en gebruik de read()-functie om de al ingevoerde gegevens op de terminal te verifiëren. De gegevens worden niet in het juiste formaat weergegeven. Om de informatie correct op te slaan, moet deze in JSON worden opgeslagen en geformatteerd. De gegevens zijn opgeslagen in een dictionary-constante genaamd red_data. Maak een variabele genaamd red_storage aan en sla daarin de waarde van de json.dumps()-functie op.

Om de gegevens te formatteren, voeg je de volgende argumenten toe aan de functie: voeg red_data toe om de constante naar JSON te converteren, voeg indent toe en stel dit in op 5 om de tekst te formatteren, en voeg separators toe met de waarde ("- ", " = ") om deze symbolen aan het einde van elke regel toe te voegen. De regel zou er als volgt uit moeten zien: red_storage = json.dumps(red_data, indent=5, separators=("- ", " = ")) . Gebruik de vooraf geschreven display() en voeg de red_storage JSON-string toe om de geformatteerde gegevens op te slaan en weer te geven.

Loop naar het donkere X-teken op het blauwe tapijt, wend je tot de terminal en gebruik de read()-functie; net als eerder is de data niet correct opgeslagen en moet deze geformatteerd, maar ook gesorteerd worden. De data is opgeslagen in een constante genaamd blue_data. Maak een variabele genaamd blue_storage aan en sla daarin de waarde van de json.dumps()-functie op.

Voor de argumenten: voeg blue_data toe om de constante naar JSON te converteren, voeg indent toe en stel dit in op 4 om de tekst te formatteren, voeg separators toe met de waarde (".0", " = ") om deze symbolen aan het einde van elke regel toe te voegen. Daarnaast voeg je het argument sort_keys toe als laatste argument en stel dit in op True, zoals: sort_keys=True . Gebruik de vooraf geschreven display() en voeg de blue_storage JSON-string toe om de gesorteerde gegevens op te slaan en weer te geven en zo het level te voltooien.

Codeboek