Computer >> 컴퓨터 >  >> 프로그래밍 >> PHP

PHP로 JSONL을 배열로 변환하는 방법

PHP에서는 json_decode 함수를 사용하여 JSON 문자열을 배열로 손쉽게 변환할 수 있습니다. JSONL(JSON Lines) 형식의 데이터를 다룰 때에도 이 함수가 핵심적인 역할을 합니다.

json_decode 함수는 아래와 같이 사용합니다.

json_decode($json_string_that_needs_to_be_converted, true);

여기서 두 번째 매개변수를 true로 지정하면 객체(object)가 아닌 연관 배열(associative array) 형태로 결과를 반환받을 수 있어, 데이터를 더 직관적으로 다룰 수 있습니다.

다음 코드는 JSON 문자열을 배열 형식으로 변환하는 기본적인 예제입니다.

$json_string = '["m@gmail.com","p@gmail.com","q@gmail.com"]';
$array_of_data = json_decode($json_string);

JSON 문자열을 정의하는 방식을 바꾼 아래 코드도 동일한 결과를 얻을 수 있는 대안입니다. 큰따옴표로 문자열을 감싸는 경우에는 내부의 큰따옴표를 역슬래시(\)로 이스케이프 처리해야 한다는 점에 유의하세요.

예제

$json_string = "[\"m@gmail.com\",\"p@gmail.com\",\"q@gmail.com\"]";
$array_of_data = json_decode($json_string);

출력 결과

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

Array("m@gmail.com","p@gmail.com","q@gmail.com")

참고로, 실제 JSONL 파일은 줄바꿈 문자로 구분된 여러 개의 JSON 객체로 구성되어 있습니다. 따라서 파일 전체를 한 번에 디코딩하는 대신, 파일을 한 줄씩 읽은 후 각 줄에 json_decode를 적용하고 그 결과를 배열에 누적하는 방식으로 처리하는 것이 일반적입니다. 이 방법을 사용하면 대용량 JSONL 데이터도 메모리를 효율적으로 사용하면서 안정적으로 변환할 수 있습니다.