2021. 7. 16. 19:28ใJS
- My Parsing Situation ๐
1. POSTMAN๋ฅผ ํ์ฉํด ํ์๋กํ ๋ฐ์ดํฐ๋ฅผ ํด๋กค๋ง์ ๋ง์ณค๋ค.
2. ํฌ๋กค๋งํ ํ์ผ ์ค ํ์ํ ๋ฐ์ดํฐ๋ง ๋ณ๋๋ก ํ์ฑํด์์ผ ํ๋ค.
2. ํฌ๋กค๋ง๋ ํ์ผ์ [KEY-VALUE] ํํ์ JSON ํ์ผ์ด๋ค.
3. ํฌ๋กค๋ง ํ์ผ ๊ฐฏ์๋ ์ด 32๊ฐ -> 'data' ํ์ผ์ ์์ฑํด ์์ ๋ชจ๋ jsonํ์ผ์ ๋ด๋๋ค.
4. [KEY-VALUE] ํํ์ JSON ํ์ผ์ KEY๊ฐ ์ค ์๋์ ํด๋นํ๋17๊ฐ์ VALUE๋ง ํ์ฑํด์จ๋ค.
id , free_delivery_threshold , is_available_delivery , threshold , review_reply_count , review_image_count
delivery_fee , estimated_delivery_time_key , categories , min_order_amount , name , owner_reply_count
one_dish , lng , lat , estimated_delivery_time , review_count , loyal_score
- My Source Code ๐
const fs = require('fs');
const glob = require('glob');
function test() {
return new Promise(function (resolve, reject) {
glob("./data/*.json", async function (err, files) {
let result = []
await files.map(async (filename) => {
let dataBuffer = fs.readFileSync(filename);
let dataJSON = dataBuffer.toString();
let data = JSON.parse(dataJSON);
// console.log(data);
await data.restaurants.map((item) => {
let tmp = {
"id": item.id,
"free_delivery_threshold": item.free_delivery_threshold,
"is_available_delivery": item.is_available_delivery,
"threshold": item.threshold,
"review_reply_count": item.review_reply_count,
"review_image_count": item.review_image_count,
"delivery_fee": item.delivery_fee,
"estimated_delivery_time_key": item.estimated_delivery_time_key,
"categories": item.categories,
"min_order_amount": item.min_order_amount,
"name": item.name,
"owner_reply_count": item.owner_reply_count,
"one_dish": item.one_dish,
"lng": item.lng,
"lat": item.lat,
"estimated_delivery_time": item.estimated_delivery_time,
"review_count": item.review_count,
"loyal_score": item.loyal_score,
}
result.push(tmp);
})
})
resolve(result);
})
})
}
async function main() {
let result = await test();
fs.writeFileSync("./test.json", JSON.stringify({ "result": result }), 'utf-8');
}
main();
Visual Stdio Code์ 'main.js' ํ์ผ์ ์ ์ฝ๋๋ฅผ ์์ฑํ๋ค.
Open With Live Serve๋ฅผ ํตํด ์ฝ์์ฐฝ์ผ๋ก js์ ์คํ ๊ฒฐ๊ณผ๋ฅผ ํ์ธํ๋ ๊ฒ๋ณด๋ค
-> Terminal์ node.js ๋ฅผ ์คํ์์ผ ํ์ผ ๊ฒฐ๊ณผ๋ฅผ ํ์ธ ํ๋ ๊ฒ์ด ๋ ํ์คํ๋ค.
node .\main.js
์ฝ๋๊ฐ ์คํ๋๋ฉด golb๋ฅผ ํตํด Data ํ์ผ์ ๋ด๊ฒจ์๋ ๋ชจ๋ jsonํ์ผ์ ์ด๋ฆ์ ์ฝ์ด์ค๊ณ ,
glob("./data/*.json", async function (err, files){ ... }
parsing์ ํตํด jsonํ์ผ๋ก ๋ค์ ์ฐ์ด๋ ๊ณผ์ ์์ ์ค์ฒฉ๋์ด ์๋ฌด๊ฒ๋ ์์ฑ๋์ง ์๋ ์๋ฌ๋ฅผ ์์ ๊ธฐ ์ํด ๋๊ธฐ/๋น๋๊ธฐ๋ฅผ ์ค์ ํด์ค๋ค.
๊ทธ ๊ฒฐ๊ณผ parsingํด์จ ๋ชจ๋ ํค๊ฐ์ ./ ๋ฃจํธ์ 'test.js'๋ผ๋ ์ด๋ฆ์ผ๋ก ์ ์ฅ๋์ด jsonํ์ผ๋ก ๋ณํ๊ณผ์ ์ ๋ง์น๋ค.
async function main() {
let result = await test();
fs.writeFileSync("./test.json", JSON.stringify({ "result": result }), 'utf-8');
}
'JS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ฌธ์์ด ์ ๋ฌธ์ ํ๊ฐ ์ฉ ๋๋ฉฐ ์กฐ๊ฑด ํ์ธํ๋ ๋ฐฉ๋ฒ _ JS (0) | 2021.07.16 |
---|---|
Math ํจ์ ์์ ์ ๋ณต (์ ๋๊ฐ, ์ต๋, ์ต์ ๋ฑ) _ JS (0) | 2021.07.16 |