반응형
fs.writeFileSync를 사용하여 JSON 파일에 JSON 객체 쓰기
JSON 개체를 JSON 파일에 쓰려고합니다. 코드는 오류없이 실행되지만 객체의 내용이 기록 된 대신 JSON 파일에 기록되는 모든 내용은 다음과 같습니다.
[object Object]
이것은 실제로 작성하는 코드입니다.
fs.writeFileSync('../data/phraseFreqs.json', output)
'출력'은 JSON 개체이며 파일이 이미 있습니다. 더 많은 정보가 필요하면 알려주세요.
개체를 문자열 화해야합니다.
fs.writeFileSync('../data/phraseFreqs.json', JSON.stringify(output));
동기식 접근 방식을 사용해서는 안된다고 생각합니다. 비동기식으로 파일에 데이터를 쓰는 output
것이 object
.
참고 : output
이 문자열이면 인코딩을 지정하고 flag
옵션도 기억하십시오 . :
const fs = require('fs');
const content = JSON.stringify(output);
fs.writeFile('/tmp/phraseFreqs.json', content, 'utf8', function (err) {
if (err) {
return console.log(err);
}
console.log("The file was saved!");
});
파일에 데이터를 쓰는 동기 방식이 추가되었지만 사용 사례를 고려하십시오. 비동기 실행과 동기 실행, 이것이 실제로 무엇을 의미합니까?
const fs = require('fs');
const content = JSON.stringify(output);
fs.writeFileSync('/tmp/phraseFreqs.json', content);
세 번째 인수를 전달하여 json을 사람이 읽을 수 있도록 만듭니다 stringify
.
fs.writeFileSync('../data/phraseFreqs.json', JSON.stringify(output, null, 4));
웹 서버로 데이터를 보낼 때 데이터는 문자열이어야합니다 ( 여기 ). 을 사용하여 JavaScript 객체를 문자열로 변환 할 수 있습니다 JSON.stringify()
. 다음 은 작동하는 예입니다.
var fs = require('fs');
var originalNote = {
title: 'Meeting',
description: 'Meeting John Doe at 10:30 am'
};
var originalNoteString = JSON.stringify(originalNote);
fs.writeFileSync('notes.json', originalNoteString);
var noteString = fs.readFileSync('notes.json');
var note = JSON.parse(noteString);
console.log(`TITLE: ${note.title} DESCRIPTION: ${note.description}`);
도움이되기를 바랍니다.
반응형
'developer tip' 카테고리의 다른 글
Bash 백틱에 해당하는 일괄 처리 (0) | 2020.09.09 |
---|---|
만드는 방법 (0) | 2020.09.09 |
선언적 프로그래밍과 절차 적 프로그래밍 패러다임의 차이점은 무엇입니까? (0) | 2020.09.09 |
iOS 앱이 승인 된 후 iTunes Connect에서 스크린 샷 편집 (0) | 2020.09.09 |
테이블 잠금없이 거대한 MySQL 프로덕션 테이블에 인덱스 생성 (0) | 2020.09.09 |