アレイフォーマッター
JavaScript、Python、Ruby、PHPのダンプ関数(print_r、var_dump、var_export)からネストされたハッシュや配列の項目を美しく整列させ、読みやすく適切にインデントされたコードにします。
このツールとは?
この無料オンラインビューティファイアは、Ruby、PHP、JavaScript、Pythonなどの人気言語で配列やハッシュをフォーマットして整列させるのに役立ちます。クリーンで読みやすい構造を求める開発者やデータアナリストに最適です。
生の配列/ハッシュコードに加えて、このツールは以下の出力の美化もサポートしています:
print_r()
、var_dump()
、var_export()
などのPHP関数dict
、list
、複雑なネストオブジェクトを含むPythonスタイルの構造- JavaScriptオブジェクトと配列
- LangChainのようなフレームワーク/ライブラリの出力や
Document(...)
、MyObject(...)
のようなカスタムフォーマット
使い方
- エディタに配列/ハッシュコードまたはPHPダンプ出力を貼り付けるか入力します。
- オプションでインデントを調整したり、値の整列を有効にしたりします。
- 構造をフォーマットするにはをクリックします。
結果をダウンロードしたり、コピーしたり、ユニークなリンクを共有したりできます。GoogleまたはGitHubでサインインして、後で美化されたコードを保存してアクセスできます。
PHPダンプ出力の理解
print_r()
、var_dump()
、var_export()
のようなPHPデバッグ関数は構造化データを出力しますが、深くネストされた場合はフォーマットが読みづらくなることがあります。
print_r()
: ネストされたArray()
ブロックを持つ読みやすいフォーマットvar_dump()
: 詳細で、型と長さの情報を含むvar_export()
: 有効なPHPコード構造を出力
Document(...)
やMyObject(...)
とは?
一部のPythonライブラリやフレームワークでは、オブジェクトがDocument(metadata={...}, page_content='...')
やMyObject(...)
のようなコンストラクタ形式で出力されます。このツールは、そのようなオブジェクトリストを解析し、フォーマットすることができ、深くネストされたデータも含まれます。
配列とハッシュ(オブジェクト/ディクト)の違いは?
- 配列: 値の順序付きリスト(例:
[1, 2, 3]
) - ハッシュ/オブジェクト/ディクト: キーと値のペア(例:
{"name": "Alice"}
)
これらの構造は多くの言語で見られます:
- Ruby: 配列には
[]
、ハッシュには{ key: value }
- PHP: 配列とハッシュの両方に
array()
を使用 - JavaScript: 配列には
[]
、オブジェクトには{ key: value }
- Python: リスト(配列)には
[]
、ディクト(ハッシュ)には{ key: value }
例
JavaScript配列
const nums = [1, 2, 3, 4, 5];
JavaScriptオブジェクト
{
"name": "Alice",
"age": 30
}
Pythonリスト
["apple", "banana", "cherry"]
Pythonディクト
{
"id": 1,
"name": "Bob"
}
LangChainドキュメント
[
Document(
metadata={
"source": "/content/file.pdf",
"coordinates": {
"points": ((47.94, 47.29), (47.94, 74.42)),
"system": "PixelSpace"
}
},
page_content="Example text"
)
]
MyObjectリスト
[
MyObject(
metadata={
"key1": "value1",
"key2": [1, 2, 3]
},
content="Some content here"
),
MyObject(
metadata={
"key1": "another",
"key2": [4, 5]
},
content="Another content"
)
]
美化の例
ビフォー: print_r()
の出力
Array
(
[name] => Alice
[age] => 30
[address] => Array
(
[city] => Paris
[zip] => 75001
)
)
アフター美化
array(
"name" => "Alice",
"age" => 30,
"address" => array(
"city" => "Paris",
"zip" => 75001
)
)
ビフォー: Pythonディクト
{'a':1,'b':{'x':10,'y':20},'c':[1,2,3]}
アフター美化
{
'a': 1,
'b': {
'x': 10,
'y': 20
},
'c': [
1,
2,
3
]
}
ビフォー: JavaScript配列
const data = [1, {"a":2,"b":[3,4]}, 5];
アフター美化
const data = [
1,
{
"a": 2,
"b": [
3,
4
]
},
5
];
ビフォー: カスタムオブジェクトリスト
[MyObject(metadata={'key1': 'value1', 'key2': [1, 2, 3]}, content='Some content here'),
MyObject(metadata={'key1': 'another', 'key2': [4, 5]}, content='Another content')]
アフター美化
[
MyObject(
metadata={
'key1': 'value1',
'key2': [
1,
2,
3
]
},
content='Some content here'
),
MyObject(
metadata={
'key1': 'another',
'key2': [
4,
5
]
},
content='Another content'
)
]