上級Python開発コース
チャプター
>
レベル
シリアライゼーション・モジュール
JSONモジュール
目的
サービスステーションに行き、JSON モジュールを使用してファイルをフォーマットすることで、データが正しく保存されていることを確認してください。
新しい建設エリアの付属棟の南にサービスステーションがあります。このエリア全体は作物を栽培するために再開発される予定です。そのステーションには、新開発用のデータを処理するための様々な端末があります。データを手動で書き込む方法もありますが、非常に時間がかかります。データ処理のプロセスには、JavaScript Object Notation の略である JSON を使用できます。JSON は、プログラミング言語に依存しないデータフォーマットであり、データの保存と送信のために情報を読みやすい形で格納します。
Python で JSON を使用するには、import json を使います。これにより JSON 関数にアクセスできるようになります。今回の目的では、以下の関数を使用します:
json.loads(): JSON 文字列を Python のデータに変換します。引数として、Python に変換したい文字列を1つ渡します。json.dumps(): Python のデータを JSON 文字列オブジェクトに変換します。この関数は最大で4つの引数を取ることができますが、最初の引数のみが必須です。引数は以下の通りです。- JSON に変換したい Python のデータ: 辞書、リスト、タプル、文字列、整数、浮動小数点数、ブール値、None の各データ型が使用できます。
indent: データポイントの先頭に追加するスペースの数separators: データポイントの間または末尾に表示したい区切り文字sort_keys: 辞書型のファイルを変換する場合、辞書のキーをアルファベット順に並べ替えます。
まず、左側にある前哨基地の金色の X 印の方向に進み、メモが置かれている机に向かってください。read() 関数を使用して端末の状態を確認するために必要な情報を検証し、記録してください。端末の前にある薄い X 印に向かって歩いてください。transmission という定数が存在するので、json.dumps() を使用して JSON 形式にフォーマットし、変換できるようにします。次のように記述してください: transmission = json.dumps(transmission) .
load という名前の辞書を作成し、引数として transmission 定数を渡した json.loads() の値を格納してください。これにより、JSON が Python に変換され、情報に簡単にアクセスできるようになります。メモに記載されているキーを使用し、作成した load 辞書を使って speak() 関数を実行してください。例えば: player.speak(load["system"]) のように、すべてのキーについて実行してください。
端末の情報を確認した後、サービスステーションの方向に進み、中に入り、緑のカーペットの上にある薄い X 印へ向かってください。read() 関数を使用してメモを確認し、値を検証して記録してください。エディターにはあらかじめ書かれた profile 辞書があるので、メモの情報を使用して欠損している値を入力してください。
緑のカーペットの上にある濃い X 印まで歩き、端末に向かってください。そして transfer という名前の変数を作成し、json.dumps() の値を格納し、引数として profile 辞書のみを渡してください。こうすることで、辞書を JSON 文字列オブジェクトに変換できます。あらかじめ用意された display() 関数を使用して、transfer JSON を渡し、端末にデータを保存してください。
赤いカーペットの上にある濃い X 印まで歩き、read() 関数を使用して端末にすでに入力されているデータを検証してください。データは適切な形式で表示されていません。適切に情報を保存するためには、JSON 形式で保存およびフォーマットする必要があります。データは red_data という辞書の定数に格納されていますので、red_storage という名前の変数を作成し、json.dumps() 関数の値を格納してください。
データをフォーマットするために、関数に以下の引数を追加してください:定数を JSON に変換するために red_data を追加し、テキストを整形するために indent を追加して 5 に設定し、各行の末尾にこれらの記号を追加するために separators を追加して ("- ", " = ") としてください。行は次のようになります: red_storage = json.dumps(red_data, indent=5, separators=("- ", " = ")) . あらかじめ用意された display() を使用して、red_storage JSON 文字列を渡し、フォーマットされたデータを保存および表示してください。
青いカーペットの上にある濃い X 印まで歩き、端末に向かってください。そして read() 関数を使用します。前述のように、データは正しく保存されておらず、フォーマットだけでなく並べ替えも必要です。データは blue_data という定数に格納されていますので、blue_storage という名前の変数を作成し、json.dumps() 関数の値を格納してください。
引数として、定数を JSON に変換するために blue_data を追加し、テキストを整形するために indent を追加して 4 に設定し、各行の末尾に (".0", " = ") の記号を追加するために separators を追加してください。さらに、最後の引数として sort_keys を追加して True に設定します。次のようになります: sort_keys=True . あらかじめ用意された display() を使用して、blue_storage JSON 文字列を渡し、並べ替えられたデータを保存および表示してレベルを完了してください。