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

JavaScript에서 따옴표를 제거하고 문자열을 JSON 객체로 변환하는 방법

따옴표가 중복으로 포함된 문자열을 정상적인 JSON 객체로 변환하려면 JavaScript의 replace() 메서드와 JSON.parse() 메서드를 함께 사용하면 됩니다. 전체 과정은 세 단계로 진행됩니다. 먼저 substring()으로 문자열 양 끝의 따옴표를 제거하고, replace()로 겹쳐진 따옴표를 하나로 치환한 뒤, 마지막에 JSON.parse()로 객체를 생성합니다.

예제 코드

var studentDetails = `"{""name"": ""John"",""subjectName"": ""Introduction To JavaScript""}"`;
console.log("The actual object=");
console.log(studentDetails);
var removeFirstAndLast = studentDetails.substring(1, studentDetails.length - 1);
var removeDoubleQuotes = removeFirstAndLast.replace(/""/gi, `"`);
console.log(removeDoubleQuotes);
var output = JSON.parse(removeDoubleQuotes);
console.log(output);

코드 동작 설명

1단계 – 바깥 따옴표 제거: substring(1, studentDetails.length - 1)은 첫 번째 문자와 마지막 문자를 제외한 나머지 부분을 반환하므로, 문자열 맨 앞과 맨 뒤의 따옴표가 잘려나갑니다.

2단계 – 중복 따옴표 치환: 정규 표현식 /""/gireplace()와 함께 사용해 연속된 두 개의 따옴표("")를 하나의 따옴표(")로 바꿉니다. g 플래그는 문자열 전체에 대해 반복 치환을 적용합니다.

3단계 – JSON 파싱: 정리된 문자열을 JSON.parse()에 전달해 실제 JavaScript 객체로 변환합니다.

위 프로그램을 실행하려면 Node.js 환경에서 다음 명령어를 입력합니다. 여기서는 파일 이름을 demo103.js로 사용했습니다.

node fileName.js

실행 결과

위 코드를 실행하면 다음과 같은 출력이 표시됩니다.

PS C:\Users\Amit\JavaScript-code> node demo103.js
The actual object=
"{""name"": ""John"",""subjectName"": ""Introduction To JavaScript""}"
{"name": "John","subjectName": "Introduction To JavaScript"}
{ name: 'John', subjectName: 'Introduction To JavaScript' }

출력 결과를 보면 원본 문자열에는 겹쳐진 따옴표가 그대로 포함되어 있지만, 위 과정을 거친 최종 결과는 { name: 'John', subjectName: 'Introduction To JavaScript' }처럼 속성과 값이 올바르게 분리된 정상적인 JavaScript 객체임을 확인할 수 있습니다.