JavaScript에서 Fetch 질문입니다.
본문
function load() {
return fetch("abc.json")
.then(response => response.split('\n')
.then(response => response.json())
.then(json => e);
//return e
}
load().then((e) => {
console.log(e);
});
//abc.json 파일은 \n 이 포함되어져 아래처럼 되어져 있을때를 가정 합니다.
{"id":"aaaa","name":"mansu"}
{"id":"bbbb","name":"kingkong"}
구글링 하다가 알게되어서 한번 해볼려고 하는데요..
읽어온 파일에 줄바꿈이 있어서 split() 로 하면 될거라 생각 했는데...
오류가 나네요...fetch 를 잘 모르기도 하지만..
아무래도 구문 자체가 틀린거 같기도 하구요...
혹시 잘못된 부분 바로 잡아 주실수 있을까요..
저런건 어떻게 처리하는건지요...
읽어 주셔서 감사합니다.
!-->
답변 1
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));
});
}
load().then((data) => {
// 원 하는 형태로 출력이 가능
console.log('1번줄 출력', data[0]['id'], data[0]['name']); // 1번줄 출력
console.log('2번줄 출력', data[1]['id'], data[1]['name']); // 2번줄 출력
});
위와 같이 하면 잘 나옵니다.
아래는 콘솔에 찍힌 내용 입니다.
!-->
답변을 작성하시기 전에 로그인 해주세요.