ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
| この記事の要点 |
|---|
|
方法 1: str() (簡易・非推奨用途)
もっとも簡単な方法。Python の dict リテラル表記をそのまま文字列化します。
d = {'name': 'Alice', 'age': 30}
s = str(d)
print(s)
# → "{'name': 'Alice', 'age': 30}"
print(type(s))
# →
注意: 出力は Python 独自の表記(シングルクォート)。JSON として他言語に渡すとパースエラーになります。
方法 2: json.dumps() (推奨)
他システムやファイル・API レスポンスで使うなら json.dumps() を使います。標準の JSON 形式(ダブルクォート)で出力されます。
import json
d = {"name": "Alice", "age": 30, "tags": ["dev", "admin"]}
s = json.dumps(d)
print(s)
# → '{"name": "Alice", "age": 30, "tags": ["dev", "admin"]}'
# 日本語を含む場合は ensure_ascii=False
d = {"名前": "アリス"}
s = json.dumps(d, ensure_ascii=False)
print(s)
# → '{"名前": "アリス"}'
# 整形して出力
s = json.dumps(d, ensure_ascii=False, indent=2)
print(s)
# → {
# "名前": "アリス"
# }
json.dumps の主要オプション
| オプション | 効果 |
|---|---|
indent=2 | 2 スペースでインデント整形 |
ensure_ascii=False | 日本語を あ のような escape にせずそのまま出力 |
sort_keys=True | キーをアルファベット順にソート |
separators=(',', ':') | 区切り文字をカスタマイズ(最小化等) |
default=str | JSON 非対応型(datetime 等)を str() で変換 |
方法 3: repr()
str() とほぼ同じ動作だが、より「再現可能な表現」を返すデバッグ用関数。
d = {'name': 'Alice', 'age': 30}
print(repr(d))
# → "{'name': 'Alice', 'age': 30}"
方法 4: pprint.pformat() (整形)
ネストが深い辞書を可読性高く整形したい場合。
from pprint import pformat
d = {
"users": [
{"name": "Alice", "age": 30, "tags": ["dev", "admin"]},
{"name": "Bob", "age": 25, "tags": ["dev"]}
]
}
print(pformat(d))
# → {'users': [{'age': 30, 'name': 'Alice', 'tags': ['dev', 'admin']},
# {'age': 25, 'name': 'Bob', 'tags': ['dev']}]}
逆変換: 文字列を辞書に戻す
JSON 文字列 → dict
import json
s = '{"name": "Alice", "age": 30}'
d = json.loads(s)
print(d)
# → {'name': 'Alice', 'age': 30}
Python リテラル文字列 → dict(str() の逆)
import ast
s = "{'name': 'Alice', 'age': 30}"
d = ast.literal_eval(s)
print(d)
# → {'name': 'Alice', 'age': 30}
# eval() でも動くが、任意コード実行リスクがあるので literal_eval を使う
使い分けまとめ
| 用途 | 推奨 |
|---|---|
| API / ファイル保存 / 他言語と連携 | json.dumps() |
| デバッグ・ログ出力 | str() or repr() |
| 整形表示(人間が読む) | pprint.pformat() or json.dumps(..., indent=2) |
| ネスト構造の可視化 | pprint.pformat() |
注意点
- json.dumps はすべての型に対応していない:
datetime,set,bytes, カスタムクラスはそのままだとエラー。default=strやcls=オプションで対応 - str() の出力は他言語で読めない: シングルクォートは標準 JSON ではない
- 大きな dict は indent なし: ファイルサイズが膨らむ
- 循環参照: dict が自分自身を含むと
json.dumpsもstr()も無限再帰でエラー
関連記事
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
子ページ
子ページはありません
同階層のページ
- 型の確認
- strからintへの型変換
- 辞書型を文字列に変換する方法
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript base URL 取得方法|window.location.origin と SSR/Node.js 対応
- 4 YouTube Data API v3 エラー一覧|403/400/404 の主要原因と切り分け
- 5 Spring Frameworkのアノテーション一覧
- 6 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 7 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- IPv6とは|128bitアドレス・コロン16進表記/::省略・リンクローカル・SLAAC・デュアルスタック NEW 2026-06-22 12:34:44
- VPNとは|暗号トンネル・サイト間/リモートアクセス・IPsec/SSL-VPN/WireGuardを解説 NEW 2026-06-22 12:19:10
- MAC アドレスフィルタリングの仕組みと限界 | ネットワーク入門 NEW 2026-06-22 12:19:10
- WebSocket とは 全二重リアルタイム通信 ws/wss | ネットワーク入門 NEW 2026-06-22 12:17:25
- Web通信プロトコル入門 HTTP/2・HTTP/3・WebSocket・gRPC・WebRTC | ネットワーク入門 NEW 2026-06-22 12:17:25
- HTTP/2 とは 多重化・HPACK・バイナリフレーム | ネットワーク入門 NEW 2026-06-22 12:17:25
- WebRTC とは ブラウザ間 P2P の音声・映像・データ通信 | ネットワーク入門 NEW 2026-06-22 12:17:25
- gRPC とは HTTP/2 + Protocol Buffers の高速 RPC | ネットワーク入門 NEW 2026-06-22 12:17:25
- HTTP/3 (QUIC) とは UDP ベースの低遅延 Web 通信 | ネットワーク入門 NEW 2026-06-22 12:17:25
- CDN とは エッジキャッシュ・TTL・Cloudflare/CloudFront | ネットワーク入門 NEW 2026-06-22 12:17:24
- HAProxy とは frontend/backend と設定例 | ネットワーク入門 NEW 2026-06-22 12:17:24
- ファイアウォールとは|パケットフィルタ・ステートフル・DMZ・次世代FW(L4/L7)を解説 NEW 2026-06-22 12:17:24
- TLS/SSLの仕組み|ハンドシェイク・暗号スイート・前方秘匿性・証明書検証をわかりやすく解説 NEW 2026-06-22 12:17:24
- 証明書と認証局(CA)とは|X.509・信頼チェーン・DV/OV/EV・失効(CRL/OCSP)を解説 NEW 2026-06-22 12:17:24
- iptables/nftablesとは|テーブル・チェーン・ルール例・永続化をLinux視点で解説 NEW 2026-06-22 12:17:24
コメントを削除してもよろしいでしょうか?