배열 포매터
JavaScript, Python, Ruby, PHP의 dump 함수(print_r, var_dump, var_export)에서 중첩된 Hash/Array의 항목을 아름답게 정렬하여 가독성이 좋고 적절하게 들여쓰기된 코드를 만드세요.
이 도구는 무엇인가요?
이 무료 온라인 포매터는 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(...)
와 같은 생성자 형식으로 출력됩니다. 이 도구는 이러한 객체 목록과 모든 깊이 중첩된 데이터를 파싱하고 포매팅할 수 있습니다.
배열 vs 해시 (객체/딕트): 차이점은 무엇인가요?
- 배열: 값의 순서가 있는 목록 (예:
[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="예제 텍스트"
)
]
MyObject 리스트
[
MyObject(
metadata={
"key1": "value1",
"key2": [1, 2, 3]
},
content="여기에 일부 콘텐츠"
),
MyObject(
metadata={
"key1": "another",
"key2": [4, 5]
},
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'
)
]