간단한 JSON Filter 서비스 배포하기 (1) - 코드 작성카테고리 없음2024. 8. 28. 11:46
Table of Contents
간단한 토이 프로젝트를 진행하는 도중 JSON 데이터가 필요한 상황에 어찌저찌 데이터를 구했지만, 나에게 불필요한 정보가 너무 많아서 필요한 내용으로만 구성하기 위해 필터링 작업이 필요했다.
이미 만들어져 있는 서비스가 있을 거라는 생각에 검색을 해봤지만 마음에 드는 서비스가 없었다.
그래서 결국 AI를 통해 직접 필터링을 진행했는데, 나중에 또 JSON 필드 추출을 할 일이 생길 것이라고 생각했고 간단한 필터 서비스를 만들어서 배포해보기로 했다.
코드 작성은 Claude AI를 활용했고, 덕분에 짧은 시간에 제작이 가능했다.
특히나 디자인이나 CSS를 싫어하는 사람들은 AI가 디자인을 전부 만들어주기 때문에 매우 추천한다.
전체 소스 코드는 깃허브에서 볼 수 있고, 다음은 필터링을 진행하는 함수이다.
// Filter JSON data
function filterJSON(data, allowedFields) {
if (Array.isArray(data)) {
return data.map((item) => filterJSON(item, allowedFields));
} else if (typeof data === "object" && data !== null) {
return Object.keys(data)
.filter((key) =>
allowedFields.some(
(field) => field === key || field.startsWith(key + ".")
)
)
.reduce((obj, key) => {
if (allowedFields.includes(key)) {
obj[key] = data[key];
} else {
obj[key] = filterJSON(
data[key],
allowedFields
.filter((field) => field.startsWith(key + "."))
.map((field) => field.slice(key.length + 1))
);
}
return obj;
}, {});
}
return data;
}
만들어진 서비스는 https://jsonfilter.ddns.net에서 확인할 수 있다.
@뽀글뽀글 개발자 :: 뽀글뽀글 개발 일지
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!