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

JavaScript에서 문자열을 배열 객체로 변환하는 방법 완벽 가이드

JavaScript에서 문자열 형태의 데이터를 배열 객체로 변환해야 하는 경우가 자주 있습니다. 특히 API 응답이나 외부 파일에서 받아온 데이터는 대부분 문자열 형태로 전달되기 때문에, 이를 실제 배열로 변환해야만 속성에 접근하거나 반복 처리를 할 수 있습니다.

이럴 때 사용하는 것이 바로 JSON.parse() 메서드입니다. JSON.parse()는 JSON 형식의 문자열을 JavaScript 객체 또는 배열로 파싱해 주는 표준 내장 메서드입니다. 아래 예제를 통해 구체적인 사용 방법을 살펴보겠습니다.

예제 코드

var customerDetails='[
    {"name": "John", "countryName": "US"},
    {"name": "David", "countryName": "AUS"},
    {"name": "Bob", "countryName": "UK"}
]';
console.log("원본 값="+customerDetails);
var convertStringToArray=JSON.parse(customerDetails);
console.log("문자열을 배열 객체로 변환한 결과=");
console.log(convertStringToArray);

위 코드에서는 고객 정보 세 건이 담긴 JSON 형식의 문자열을 변수 customerDetails에 저장한 뒤, JSON.parse()를 호출하여 실제 배열 객체로 변환하고 있습니다.

프로그램 실행 방법

위 프로그램을 Node.js 환경에서 실행하려면 터미널에서 다음 명령어를 입력합니다.

node fileName.js

출력 결과

여기서는 파일 이름이 demo123.js라고 가정합니다. 실행하면 다음과 같은 결과가 출력됩니다.

PS C:\Users\Amit\JavaScript-code> node demo123.js
원본 값=[{"name": "John", "countryName": "US"}, {"name": "David", "countryName":
"AUS"}, {"name": "Bob", "countryName": "UK"}]
문자열을 배열 객체로 변환한 결과=[
    { name: 'John', countryName: 'US' },
    { name: 'David', countryName: 'AUS' },
    { name: 'Bob', countryName: 'UK' }
]

출력 결과를 보면 원본 값은 따옴표로 감싸진 단순한 문자열이었지만, JSON.parse()를 거친 후에는 각 요소가 독립된 객체로 구성된 진짜 배열이 된 것을 확인할 수 있습니다. 이제 convertStringToArray[0].name처럼 인덱스와 속성에 직접 접근하거나 forEach, map 등의 배열 메서드를 자유롭게 활용할 수 있습니다.

주의 사항

JSON.parse()를 사용할 때는 문자열이 유효한 JSON 형식이어야 합니다. 예를 들어 키나 값에 작은따옴표(')를 사용하거나, 마지막 요소 뒤에 쉼표(,)가 있으면 SyntaxError가 발생합니다. 안전하게 처리하려면 try-catch 문으로 감싸 오류를 처리하는 것이 좋습니다.