1
저는 노드 JS의 초보자이며 JSON 개체를 만드는 데 문제가 있습니다.노드 JS : JSON에 음악 메타 데이터 저장
mp3 파일의 메타 데이터를 찾기위한 모듈을 찾았으며이 정보를 JSON obj에 저장하려고합니다.
내 applicaiton의 동작은 다음과 같다 :
- 내 "음악"디렉토리를 읽어보십시오.
- 디렉토리의 각 파일에 대해 정보를 추출하여 구조 "jsonSong"에 저장하십시오. "jsonSong"을 "jsonObj"구조로 푸시합니다.
- "jsonObj"라는 console.log를 만들어 결과를 확인하십시오. 여기
코드입니다 :
var fs = require('fs');
var mm = require('musicmetadata');
fs.readdir('./music/', function(err,files) {
if(err) throw err;
var jsonObj = {
songs: []
};
files.forEach(function(file){
var jsonSong = {
title:"",
artist:"",
duration:"",
pic:""
}
var parser = new mm(fs.createReadStream('./music/'+file));
parser.on('title', function(result) {
jsonSong.title = result;
});
parser.on('albumartist', function(result) {
jsonSong.artist = result;
});
parser.on('duration', function(result) {
jsonSong.duration = result;
});
parser.on('picture', function(result) {
jsonSong.pic = result;
});
jsonObj.songs.push(jsonSong);
});
console.log(jsonObj);
});
여기 내 문제는 "jsonSong는"그래서 (나는 내 음악 디렉토리에 3 곡이 여기에 마지막 CONSOLE.LOG의 결과가있어, 빈 것 같다입니다 나는 구조에 3 개의 입장이있다) :
{ songs:
[ { title: '', artist: '', duration: '', pic: '' },
{ title: '', artist: '', duration: '', pic: '' },
{ title: '', artist: '', duration: '', pic: '' } ] }
시간 내 주셔서 감사합니다.
오, 루키 실수. 감사 :) – user3504315