sns 프로젝트

JSON 문자열 JAVASCRIPT 객체 변환 오류

우주속공간 2024. 1. 25. 08:00

 

오류 발생

redis 채팅 데이터를 프론트에 보내기위해서 json 문자열을 javascript 객체로 변환하려 할때 다음과 같은 오류가 발생했다. 

const change = JSON.parse(chatData);
Unexpected non-whitespace character after JSON at position 73

 

오류 발생 원인

찾아보니 `JSON.parse` 함수는 단일 JSON 문자열만 처리할 수 있기 때문에 오류가 발생하는 거였다. 

 

해결방법

해결을 위해서는 배열 내 각 JSON문자열을 개별적으로 파싱해야한다. forEach를 통해 각 JSON문자열을 개별적으로 파싱했다. 

 

chatData.forEach((item) => {
        const parsedItem = JSON.parse(item);
        respondData.push(parsedItem);
      });

 

 

forEach란?

forEach는 JavaScript에서 배열을 다룰 때 사용되는 메소드입니다. 이 메소드는 배열의 각 요소에 대해 지정된 함수를 한 번씩 실행합니다. 이를 통해 배열의 각 요소에 대해 반복적인 작업을 수행할 수 있습니다.