yohhoyの日記

技術的メモをしていきたい日記

コンパクトなJSON表現へ変換

PythonでコンパクトなJSON文字列(空白文字を最小限に抑える)に変換する。jq --compact-output コマンド出力相当。

import json

data = {
  "id": 42,
  "name": "Foo Bar",
  "list": ["A", "B", "C"]}

json.dumps(data, separators=(',', ':'))  # 最小表現
json.dumps(data)                         # (標準)
json.dumps(data, indent=4)               # 可読性重視

出力:

{"name":"Foo Bar","list":["A","B","C"],"id":42}
{"name": "Foo Bar", "list": ["A", "B", "C"], "id": 42}
{
    "name": "Foo Bar", 
    "list": [
        "A", 
        "B", 
        "C"
    ], 
    "id": 42
}