Hướng dẫn import json file nodejs - nhập tệp json nodejs
Các mô -đun ES vẫn còn mới trong Node.js Land (chúng ổn định kể từ Node 14). Các mô-đun đi kèm với một hệ thống mô-đun tích hợp và các tính năng như cấp cao đang chờ đợi. Show
Tôi đã đọc một bài đăng thông tin trên các mô -đun ES của Pawel Grzybek và biết rằng bạn không thể nhập các tệp JSON trong các mô -đun ES ngay hôm nay. Đó là một yếu tố thực sự vì tôi khá quen với việc thực hiện các cuộc gọi 0 trong node.js.Bài đăng này giải thích các cách để đối phó với 1 trong các mô -đun ES nếu bạn đang sử dụng phiên bản Node.js trước 2 hoặc không muốn sử dụng 3 trong Node.js 4.Tùy chọn 1: Tự đọc và phân tích các tệp JSONTài liệu Node.js khuyên nên sử dụng mô -đun 5 và thực hiện công việc đọc các tệp và phân tích cú pháp.
Tùy chọn 2: Tận dụng chức năng CommonJS require để tải các tệp JSONTài liệu cũng nói rằng bạn có thể sử dụng 7 để tải các tệp JSON. Cách tiếp cận này là cách Pawel khuyên trong bài viết trên blog của mình. 7 cho phép bạn xây dựng chức năng CommonJS require để sử dụng các tính năng phổ biến điển hình như đọc JSON trong các mô -đun ECMAscript Node.JS của bạn.
Bạn nên tải các tệp JSON như thế nào?Đối với tương lai, các xác nhận nhập khẩu và các mô -đun ESM JSON là cách!import assertions and ESM JSON modules are the way! Đối với các phiên bản Node.js chưa hỗ trợ họ, tôi không biết. Không có tùy chọn nào cảm thấy tốt, nhưng có lẽ tôi sẽ bám vào tùy chọn đầu tiên vì nó dễ hiểu hơn. Nội dung bài viết JSON NodeJS(JavaScript Object Notation) được sử dụng rộng rãi trong việc chia sẻ dữ liệu với nhiều ngôn ngữ khác nhau. Nhờ tính đồng nhất và đơn giản dữ liệu, do đó trong các ứng dụng Nodejs cũng được thường xuyên sử dụng. Trong bài viết này, tipjs sẽ hướng dẫn cách đọc file và ghi file JSON trong Nodejs. Cung cấp cho bạn nhiều cách nhằm có thể ở hoàn cảnh nào chúng ta cũng có thể xử lý được fileJSON. (JavaScript Object Notation) được sử dụng rộng
rãi trong việc chia sẻ dữ liệu với nhiều ngôn ngữ khác nhau. Nhờ tính đồng nhất và đơn giản dữ liệu, do đó trong các ứng dụng Nodejs cũng được thường xuyên sử dụng. Trong bài viết này, tipjs sẽ hướng dẫn cách đọc file và ghi file JSON trong Nodejs. Cung cấp cho bạn nhiều cách nhằm có thể ở hoàn cảnh nào chúng ta cũng có thể xử lý được fileJSON. Giả sử chúng ta có một file databases.json sẵn có dữ liệudatabases.json sẵn có dữ liệu [ { "name": "MySQL", "type": "RDBMS" }, { "name": "MongoDB", "type": "NoSQL" }, { "name": "Neo4j", "type": "Graph DB" } ] Giờ chúng ta sẽ có bao nhiêu cách để đọc file này? Read a JSON file using fs.readFile()Sử dụng [ { "name": "MySQL", "type": "RDBMS" }, { "name": "MongoDB", "type": "NoSQL" }, { "name": "Neo4j", "type": "Graph DB" } ]0 để đọc file này, nhưng chú ý đây là cách đọc file không đồng bộ. Cho nên nếu bạn muốn xử lý data thì nên xử lý trong function của nó luôn, hay có thể gọi callback cũng được. const fs = require('fs'); fs.readFile('./databases.json', 'utf8', (err, data) => { if (err) { console.log(`Error reading file from disk: ${err}`); } else { // parse JSON string to JSON object const databases = JSON.parse(data); // print all databases databases.forEach(db => { console.log(`${db.name}: ${db.type}`); }); } }); Sử dụng [ { "name": "MySQL", "type": "RDBMS" }, { "name": "MongoDB", "type": "NoSQL" }, { "name": "Neo4j", "type": "Graph DB" } ]1 để phân tích cú pháp nó thành một đối tượng JSON sau đó dùng loop trong JavaScript, và có kết quả như thế này MySQL: RDBMS MongoDB: NoSQL Neo4j: Graph DB Bạn nào thường xuyên sử dụng promise cũng là một các viết chuẩn xác hơn. Read a JSON file using fs.readFileSync()Nếu bạn muốn đọc file một cách đồng bộ thì đây, giới thiệu cho các anh chị phương pháp đó là sử dụng [ { "name": "MySQL", "type": "RDBMS" }, { "name": "MongoDB", "type": "NoSQL" }, { "name": "Neo4j", "type": "Graph DB" } ]2. Thay vì gọi hàm callback thì có thể sử dụng [ { "name": "MySQL", "type": "RDBMS" }, { "name": "MongoDB", "type": "NoSQL" }, { "name": "Neo4j", "type": "Graph DB" } ]2 như dưới đây, để xử lý data. const fs = require('fs'); try { const data = fs.readFileSync('./databases.json', 'utf8'); // parse JSON string to JSON object const databases = JSON.parse(data); // print all databases databases.forEach(db => { console.log(`${db.name}: ${db.type}`); }); } catch (err) { console.log(`Error reading file from disk: ${err}`); } Chú ý: Mặc dù [ { "name": "MySQL", "type": "RDBMS" }, { "name": "MongoDB", "type": "NoSQL" }, { "name": "Neo4j", "type": "Graph DB" } ]2 cú pháp rõ ràng, bạn không nên sử dụng để đọc các tệp lớn vì nó liên quan đến vòng lặp sự kiện (Event loop) cũng như ảnh hưởng đến hiệu suất. Reading a JSON file with require()Cách cuối cùng mà chúng ta đang nói đến để đọc tệp JSON là sử dụng [ { "name": "MySQL", "type": "RDBMS" }, { "name": "MongoDB", "type": "NoSQL" }, { "name": "Neo4j", "type": "Graph DB" } ]5. Tất cả những gì bạn cần làm là chuyển đường dẫn tệp JSON đến phương thức [ { "name": "MySQL", "type": "RDBMS" }, { "name": "MongoDB", "type": "NoSQL" }, { "name": "Neo4j", "type": "Graph DB" } ]5 và nó sẽ đồng bộ đọc và phân tích cú pháp tệp JSON và trả về một đối tượng JSON đã sẵn sàng để sử dụng: const databases = require('./databases.json'); // print all databases databases.forEach(db => { console.log(`${db.name}: ${db.type}`); }); Nhìn vào thì thấy [ { "name": "MySQL", "type": "RDBMS" }, { "name": "MongoDB", "type": "NoSQL" }, { "name": "Neo4j", "type": "Graph DB" } ]5 hoạt động trống giống [ { "name": "MySQL", "type": "RDBMS" }, { "name": "MongoDB", "type": "NoSQL" }, { "name": "Neo4j", "type": "Graph DB" } ]2 vì nó làm việc đồng bộ. Với 3 cách đọc file JSON trong JavaScript thì chúng ta đi sang cách viết một file JSON như thế nào? Writing to a JSON fileCũng giống như [ { "name": "MySQL", "type": "RDBMS" }, { "name": "MongoDB", "type": "NoSQL" }, { "name": "Neo4j", "type": "Graph DB" } ]0 và [ { "name": "MySQL", "type": "RDBMS" }, { "name": "MongoDB", "type": "NoSQL" }, { "name": "Neo4j", "type": "Graph DB" } ]2 thì module fs cũng có hai phương thức để đọc file JSON đó là const fs = require('fs'); fs.readFile('./databases.json', 'utf8', (err, data) => { if (err) { console.log(`Error reading file from disk: ${err}`); } else { // parse JSON string to JSON object const databases = JSON.parse(data); // print all databases databases.forEach(db => { console.log(`${db.name}: ${db.type}`); }); } });1 và fs.writeFileSync(). Nhìn vào tên file cũng hiểu rồi, khi nào muốn ghi đồng bộ thì sử dụng fs.writeFileSync() và ngược lại const fs = require('fs'); fs.readFile('./databases.json', 'utf8', (err, data) => { if (err) { console.log(`Error reading file from disk: ${err}`); } else { // parse JSON string to JSON object const databases = JSON.parse(data); // print all databases databases.forEach(db => { console.log(`${db.name}: ${db.type}`); }); } });1. Write to a JSON file using fs.writeFile()Để ghi file JSON thì thử cách const fs = require('fs'); fs.readFile('./databases.json', 'utf8', (err, data) => { if (err) { console.log(`Error reading file from disk: ${err}`); } else { // parse JSON string to JSON object const databases = JSON.parse(data); // print all databases databases.forEach(db => { console.log(`${db.name}: ${db.type}`); }); } });1 xem code dưới. Và đương nhiên chúng ta trả về trạng thái trong callback function. const fs = require('fs'); let user = { name: 'Anonystick', emai: '', age: 37, gender: 'Male', profession: 'Software Developer' }; // convert JSON object to a string const data = JSON.stringify(user); // write file to disk fs.writeFile('./user.json', data, 'utf8', (err) => { if (err) { console.log(`Error writing file: ${err}`); } else { console.log(`File is written successfully!`); } }); File json được save lại dưới tên là user.json và muốn đọc được thì dùng JSON.stringify() nhé các bro!user.json và muốn đọc được thì dùng JSON.stringify() nhé các bro! Write to a JSON file using fs.writeFileSync()Cách cuối cùng để ghi file JSON đó là const fs = require('fs'); fs.readFile('./databases.json', 'utf8', (err, data) => { if (err) { console.log(`Error reading file from disk: ${err}`); } else { // parse JSON string to JSON object const databases = JSON.parse(data); // print all databases databases.forEach(db => { console.log(`${db.name}: ${db.type}`); }); } });4, chạy một cách đồng bộ. const fs = require('fs'); let user = { name: 'Anonystick', emai: '', age: 37, gender: 'Male', profession: 'Software Developer' }; try { // convert JSON object to a string const data = JSON.stringify(user, null, 4); // write file to disk fs.writeFileSync('./user.json', data, 'utf8'); console.log(`File is written successfully!`); } catch (err) { console.log(`Error writing file: ${err}`); } Kết qủa cũng tương tự nhưng có vẻ như việc xử lý từng bước có thể ngắn gọn và hay hơn. Khuyến khích sử dụng và học về cách lập trình đồng bộ. HếtTham khảo thêm: attacomsian |