基礎・上級問題チェック

問題 27 /40

次のコードを実行した結果として、正しいものはどれか。

import json

json = json.dumps({'one': 1, 'two': 2})

print(type(json))

選択 1

str

選択 2

dict

選択 3

json

選択 4

txt

解説

選択肢1が正解です。

dumps()関数は、Pythonの辞書型のデータを、JSONフォーマットにエンコードします。

エンコードといっても、他の言語で読み込めるようにJSONのルールに合わせているだけであり、Pythonでのデータ型は文字列のstrです。

問題文の「{'one': 1, 'two': 2}」をdumps()関数でエンコードすると、「'{"one": 1, "two": 2}'」になります。

JSONはシングルクオーテーションではなくダブルクオーテーションを使うルールのため、波括弧の中の「'」が「"」に変換されます。

また、辞書型を文字列に変換するため、波括弧全体がシングルクオーテーションで囲われます。

なお、似た名前のdump()関数は、JSONフォーマットにエンコードしてファイルとして保存する関数です。

(公式書籍 p.82-83)