Pythonで文字列をJSONに変換する方法|json.loads()の使い方を解説
PythonでJSON文字列を辞書(dict)に変換する基本
Pythonでは、標準ライブラリの json モジュールを使うことで、JSON形式の文字列を簡単に扱うことができます。文字列として渡されたJSONデータをPythonの辞書型に変換するには、json.loads() メソッドを使用します。
json.loads() は、有効なJSON文字列を受け取り、それを解析して辞書オブジェクトを返します。返された辞書には、すべての要素にキーを使ってアクセスできます。
json.loads()の使用例
>>> import json
>>> s = '{"success": "true", "status": 200, "message": "Hello"}'
>>> d = json.loads(s)
>>> print(d["success"], d["status"])
true 200この例では、JSON形式の文字列 s を json.loads() に渡すことで、辞書 d が生成されています。その後、d["success"] や d["status"] のようにキーを指定することで、各要素の値を自由に取得できます。
JSONファイルから辞書を作成する場合:json.load()
文字列ではなくJSONファイルからデータを読み込みたい場合は、json.load() メソッドを使用します。loads() との違いは、引数として「文字列」ではなく「ファイルオブジェクト」を受け取る点です。
import json
with open('data.json', 'r', encoding='utf-8') as f:
d = json.load(f)
print(d["success"], d["status"])このように with 文と組み合わせてファイルを開き、そのファイルオブジェクトを json.load() に渡すだけで、ファイル内のJSONデータを辞書として読み込めます。
補足:辞書をJSON文字列に戻すには
逆に、Pythonの辞書をJSON文字列に変換したい場合は、json.dumps() を使用します。
>>> import json
>>> d = {"success": "true", "status": 200}
>>> s = json.dumps(d)
>>> print(s)
{"success": "true", "status": 200}まとめ
- JSON文字列 → 辞書:
json.loads() - JSONファイル → 辞書:
json.load() - 辞書 → JSON文字列:
json.dumps()
これらのメソッドを使い分けることで、PythonにおけるJSONデータの処理を柔軟かつ効率的に行えます。
-
Pythonで文字列をバイナリ(2進数)に変換する方法をわかりやすく解説
Pythonで文字列をバイナリに変換する基本の考え方Pythonで文字列をバイナリ(2進数)表現に変換するには、文字列内の各文字を1つずつ取り出し、それぞれを2進数へ変換したうえで、結果をひとつの文字列として連結します。各文字の文字コードは ord() 関数で取得でき、format() 関数に「b」フォーマット指定子を渡すことで、簡単に2進数形式へ整形できます。format() と ord() を使った変換方法最もシンプルなのが、format(ord(x), b) を使って各文字 x を2進数の文字列に変換する方法です。次の例では、文字列 hello world の各文字をスペース区切りのバイ
-
【Python】辞書形式の文字列をdict型に変換する2つの安全な方法
はじめにPythonでは、文字列として表現された辞書(例:{foo: bar})を、実際の辞書(dict型)オブジェクトに変換したい場面がよくあります。この記事では、代表的な2つの変換方法である ast.literal_eval() と json.loads() の使い方を解説します。方法1: ast.literal_eval() を使うast.literal_eval() を使うと、文字列をPythonの式として安全に評価できます。この関数は、式ノードまたはPython式を含む文字列を評価しますが、許可されているのは文字列・数値・タプル・リスト・辞書・ブール値・Noneといったリテラル構造の