반응형
1. JSON을 자바스크립트 객체로 변환, 자바스크립트 객체를 JSON으로 변환
--------------------------- 1json2js.js
// -----------------------------------------------------
// JSON을 자바스크립트 객체로 변환
// JSON 문자열은 자바스크립트 객체를 문자열로 나타낸 것이다.
// JSON.parse(string) 함수를 사용하면 문자열을 자바스크립트 객체로 변환 가능하며,
// 그 후 . 표기법을 사용해서 접근 가능하다.
console.log("\n json 에서 자바 객체로 바꾸기 "); //
var accountStr1 = '{"name":"Jedi", "members":["Yoda", "Obi Wan"], "number":34512, "location":"A galaxy far, far away"}';
var accountObj1 = JSON.parse(accountStr1);
console.log("\n json: ",accountStr1); //
console.log("\n\n obj: ",accountObj1); //
console.log("\n\n obj1: ",accountObj1.name); //Jedi
console.log("\n\n obj2: ",accountObj1.members); //["Yoda", "Obi Wan"]
// -----------------------------------------------------
// 자바스크립트 객체를 JSON으로 변환
// 노드는 자바스크립트 객체를 적절히 JSON 포맷으로 변환할 수 있다.
// 이를 이용해 문자열 형태 자료를 파일이나 데이터베이스에 저장하거나
// HTTP 연결을 사용해 전송, 스트림이나 버퍼에 쓰기 등의 동작을 할 수 있다.
// JSON.stringify(object) 함수를 사용해 자바스크립트 객체를 파싱해
// JSON 문자열을 만들 수 있다.
console.log("\n 자바 객체 에서 json로 바꾸기 "); //
var accountObj2 = {
name: "Baggins",
number: 10645,
members: ["Frodo, Bilbo"],
location: "Shire"
};
var accountStr2 = JSON.stringify(accountObj2);
console.log("\n\n obj: ",accountObj2); //
console.log("\n json: ", accountStr2); // {"name":"Baggins","number":10645,"members":["Frodo,Bilbo"],"location":"Shire"}
---------------------------2. 파일에 쓰기 2fwrite.js
---------------------------
const fs=require('fs');
const book = {
title : "Ego is the enumy",
author:'Ryan Holiday'
}
const bookJSON =JSON.stringify(book);
fs.writeFileSync('first-json.json',bookJSON);
---------------------------
3. 파일 읽기 3fread.js
---------------------------
const fs=require('fs');
const dBuf = fs.readFileSync('first-json.json');
const bObj = JSON.parse(dBuf); // JSON 을 js Objext 로 변환
console.log("\n read buffer: ",dBuf); //
console.log("\n\n obj: ",bObj); //
console.log("\n\n obj.title: ",bObj.title ); //
const tostr = dBuf.toString();
console.log("\n\n str: ",tostr); //
---------------------------
4. 파일 읽기 2 ... 3fread2.js
---------------------------
const fs = require("fs");
function jsonReader(filePath, cb) {
fs.readFile(filePath, (err, fileData) => {
if (err) {
return cb && cb(err);
}
try {
const object = JSON.parse(fileData);
return cb && cb(null, object);
} catch (err) {
return cb && cb(err);
}
});
}
jsonReader("./first-json.json", (err, customer) => {
if (err) {
console.log(err);
return;
}
console.log(customer.title); // => "Infinity Loop Drive"
});
---------------------------
5. 업데이트 4fupdate.js
---------------------------
const fs=require('fs');
const dBuf = fs.readFileSync('first-json.json');
const bObj = JSON.parse(dBuf); // JSON 을 js Objext 로 변환
console.log("\n read buffer: ",dBuf); //
console.log("\n\n obj: ",bObj); //
console.log("\n\n obj.title: ",bObj.title ); //
bObj.title = 'The Silent Patient';
bObj.author = 'Alex Michaelides';
console.log("\n\n updated obj : ",bObj); //
const bookJSON =JSON.stringify(bObj);
fs.writeFileSync('second-json.json',bookJSON);
---------------------------------------------------------------------------------
6. 업데이트 2.... 5fupdate2.js
---------------------------------------------------------------------------------
const fs = require('fs');
var data = {}
data.table = []
for (i=0; i <26 ; i++){
var obj = {
id: i,
square: i * i
}
data.table.push(obj)
}
fs.writeFile ("f2.json", JSON.stringify(data), function(err) {
if (err) throw err;
console.log('complete');
}
);
---------------------------------------------------------------------------------
---------------------------------------------------------------------------------
추가로, body-parser 를 이용 하여 받은 바디를 이용 하는데,
express 버전 4 이후것을 쓴다면 , express 가 이미 body-parser 를 내장 하므로
별도로 바디파서를 설치 안해도 된다.
---------------------------------------------------------------------------------
---------------------------------------------------------------------------------
반응형
'개발 > web' 카테고리의 다른 글
node.js 설치, win7 (0) | 2024.08.21 |
---|---|
Node.js “net” Module을 사용해 tcp socket 통신 , example source (0) | 2022.08.16 |
js 모듈 p5 간단히 보기: 마치 스케치북과도 같으며 다양한 드로잉 기능을 제공 (0) | 2022.08.16 |
win 7 에서 node.js 로 socket 통신을 하는 예제 : chat 하기, example source (0) | 2022.08.16 |
win 7 에서 node.js 로 serial port 통한 송수신 위해 설정 하기 - nodejs serialport window (0) | 2022.08.01 |