배열 포매터

JavaScript, Python, Ruby, PHP의 dump 함수(print_r, var_dump, var_export)에서 중첩된 Hash/Array의 항목을 아름답게 정렬하여 가독성이 좋고 적절하게 들여쓰기된 코드를 만드세요.

태그들: 코드 꾸미기 배열 포맷팅

🚀 182,947 총 변환 (507 이번 달)

이 도구는 무엇인가요?

이 무료 온라인 포매터는 Ruby, PHP, JavaScript, Python과 같은 인기 있는 언어에서 배열 또는 해시를 포맷하고 정렬하는 데 도움을 줍니다. 깔끔하고 읽기 쉬운 구조를 원하는 개발자와 데이터 분석가에게 적합합니다.

원시 배열/해시 코드 외에도, 이 도구는 다음의 출력도 포매팅할 수 있습니다:

  • print_r(), var_dump(), var_export()와 같은 PHP 함수
  • dict, list 및 복잡한 중첩 객체를 포함한 Python 스타일 구조
  • JavaScript 객체와 배열
  • LangChain과 같은 프레임워크/라이브러리의 출력 또는 Document(...)MyObject(...)와 같은 사용자 정의 형식

사용 방법

  1. 편집기에 배열/해시 코드 또는 PHP 덤프 출력을 붙여넣거나 입력하세요.
  2. 선택적으로 들여쓰기를 조정하거나 값 정렬을 활성화하세요.
  3. 구조를 포맷하려면 를 클릭하세요.

결과를 다운로드하거나 복사하거나 고유 링크를 공유할 수 있습니다. 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'
  )
]