테스트 사이트 - 개발 중인 베타 버전입니다

JavaScript에서 Fetch 질문입니다. 채택완료

그렌트힐 1년 전 조회 8,727

</p>

<p>function load() {

    return fetch("abc.json")

        .then(response => response.split('\n')

        .then(response => response.json())

        .then(json => e);

    //return e

}</p>

<p>

load().then((e) => {

    console.log(e);

});</p>

<p> </p>

<p>//abc.json 파일은 \n 이 포함되어져 아래처럼 되어져 있을때를 가정 합니다.</p>

<p>{"id":"aaaa","name":"mansu"}</p>

<p>{"id":"bbbb","name":"kingkong"}</p>

<p>

 

구글링 하다가 알게되어서 한번 해볼려고 하는데요..

읽어온 파일에 줄바꿈이 있어서 split() 로 하면 될거라 생각 했는데...

오류가 나네요...fetch 를 잘 모르기도 하지만..

아무래도 구문 자체가 틀린거 같기도 하구요...

혹시 잘못된 부분 바로 잡아 주실수 있을까요..

저런건 어떻게 처리하는건지요...

읽어 주셔서 감사합니다.

 

 

 

댓글을 작성하려면 로그인이 필요합니다.

답변 1개

채택된 답변
+20 포인트

    function load() {

         return fetch("abc.json")

              .then(response => response.text()) // text 형태로 가져 옴

              .then(text => {

                    // 텍스트를 줄 바꿈으로 분기

                    const lines = text.trim().split('\n');

                    // JSON 형태로 각 라인을 파싱 

                    return lines.map(line => JSON.parse(line));

              });

    }</p>

<p>    load().then((data) => {

         // 원 하는 형태로 출력이 가능

         console.log('1번줄 출력', data[0]['id'], data[0]['name']); // 1번줄 출력

         console.log('2번줄 출력', data[1]['id'], data[1]['name']); // 2번줄 출력

    });


위와 같이 하면 잘 나옵니다.
아래는 콘솔에 찍힌 내용 입니다.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

그렌트힐
1년 전
아 그렇군요..정말 감사합니다.^^

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인