Hướng dẫn read write json file javascript - đọc ghi tệp json javascript
Mục tiêuGiả sử bạn có tệp khách hàng được lưu vào đĩa giữ kỷ lục cho khách hàng trong cửa hàng của bạn. Show
Là một phần của ứng dụng cửa hàng của bạn, bạn muốn truy cập địa chỉ của khách hàng, sau đó cập nhật số lượng đơn đặt hàng sau khi đặt hàng. Trong hướng dẫn này, chúng tôi sẽ xem xét cách đọc và ghi vào tệp khách hàng của chúng tôi.
Điều kiện tiên quyết
Xem: Đọc/Viết các tệp JSONTương tác với các tệp có FSTruy cập các tệp trong nút được thực hiện với mô -đun gốc FS, cung cấp cho bạn các chức năng để xem, đọc và ghi các tệp cùng với nhiều công cụ khác để làm việc với hệ thống tệp. Bởi vì nó là một mô -đun gốc, chúng tôi có thể yêu cầu nó trong mã của chúng tôi mà không cần cài đặt nó. Chỉ cần gọi 4.Mô -đun 5 cho chúng ta tùy chọn các phiên bản đồng bộ hoặc không đồng bộ của nhiều chức năng của nó. Phiên bản đồng bộ chặn thực thi mã khác cho đến khi chúng được truy cập vào hệ thống tập tin, đọc hoặc ghi dữ liệu. Một hàm Async sẽ chạy mà không chặn mã khác. Tìm hiểu thêm về hành vi đồng bộ/async.Hành vi đồng bộ này có thể hữu ích ở một số nơi, như khi khởi động khi đọc tệp cấu hình trước khi bất kỳ mã nào khác được chạy, nhưng trở thành một vấn đề lớn khi được sử dụng trong máy chủ web nơi tất cả các yêu cầu đến sẽ bị chặn trong khi đọc tệp đồng bộ đang chạy. Vì lý do này, bạn thường muốn sử dụng các phiên bản ASYNC của các chức năng 5 trong mã của bạn. Chúng tôi sẽ tập trung vào các hoạt động không đồng bộ, nhưng cũng sẽ hiển thị tương đương đồng bộ.Để đọc và ghi các tệp không đồng bộ với 5, chúng tôi sẽ sử dụng 8 và 9.Chúng tôi cũng sẽ sử dụng Trình trợ giúp JSON toàn cầu để chuyển đổi các đối tượng thành chuỗi JSON và chuỗi JSON thành các đối tượng. Đọc tệp JSONCách đơn giản nhất để đọc một tệp JSON là yêu cầu nó. Chuyển 0 với đường dẫn đến tệp JSON sẽ được đọc đồng bộ và phân tích dữ liệu vào một đối tượng JavaScript.
Nhưng đọc các tệp JSON với yêu cầu có nhược điểm của nó. Tệp sẽ chỉ được đọc một lần; Yêu cầu nó một lần nữa trả về dữ liệu được lưu trong bộ nhớ cache từ lần đầu tiên yêu cầu được chạy. Điều này là tốt để tải dữ liệu tĩnh trên startup (như dữ liệu cấu hình). Nhưng để đọc một tệp thay đổi trên đĩa, như khách hàng của chúng tôi có thể, chúng tôi cần đọc tệp theo cách thủ công bằng cách sử dụng 8 không đồng bộ.Đọc một tệp với const config = require("./config.json"); 8Để truy cập địa chỉ của khách hàng, chúng tôi cần:
Để tải dữ liệu từ tệp customer.json, chúng tôi sẽ sử dụng 8, chuyển đường dẫn đến tệp của chúng tôi, loại mã hóa tùy chọn và gọi lại để nhận dữ liệu tệp.Nếu tệp được đọc thành công, nội dung sẽ được chuyển đến cuộc gọi lại.
Bây giờ chúng ta có nội dung của tệp dưới dạng chuỗi JSON, nhưng chúng ta cần biến chuỗi thành một đối tượng. Trước khi chúng ta có thể sử dụng dữ liệu từ cuộc gọi lại trong mã của mình, chúng ta phải biến nó thành một đối tượng. 8 lấy dữ liệu JSON làm đầu vào và trả về một đối tượng JavaScript mới. Nếu không, chúng ta sẽ chỉ có một chuỗi dữ liệu với các thuộc tính mà chúng ta có thể truy cập. 8 có thể ném các lỗi ngoại lệ và làm hỏng chương trình của chúng tôi nếu được thông qua chuỗi JSON không hợp lệ. Để ngăn chặn sự cố, chúng tôi quấn json.parse trong một câu lệnh thử để bắt một cách duyên dáng bất kỳ lỗi nào.Ví dụ này hiển thị đọc và phân tích tệp JSON:
Sử dụng 0 từ Reading customer.json, chúng tôi tạo một đối tượng và có thể truy cập thuộc tính địa chỉ. Nếu 8 ném lỗi, chúng tôi xử lý nó trong khối 2.Bây giờ chúng tôi có một biểu diễn đối tượng của dữ liệu trong tệp khách hàng của chúng tôi! Chúng ta cũng có thể đọc tệp đồng bộ bằng cách sử dụng 3. Thay vì nhận cuộc gọi lại, 4 trả về nội dung tệp sau khi đọc tệp.
Chúng ta có thể sử dụng kiến thức này để tạo chức năng trợ giúp có thể tái sử dụng để đọc và phân tích tệp JSON. Ở đây chúng tôi tạo một hàm gọi là 5 sẽ đọc và phân tích tệp JSON cho chúng tôi. Nó đưa đường dẫn đến tệp và một cuộc gọi lại để nhận đối tượng được phân tích cú pháp và bất kỳ lỗi nào. Nó sẽ bắt bất kỳ lỗi nào được ném bởi 8 cho chúng tôi.
Một lưu ý về mã hóa tệpCả 3 và 8 đều có một đối số 9 tùy chọn. Nếu bạn chỉ định một mã hóa ký tự, bạn sẽ nhận được một 6. Nếu bạn không chỉ định một ký tự mã hóa cả hai chức năng sẽ trả về 5.Điều này là do nút không và không thể, giả sử loại nội dung mà tệp chứa. Ngay cả khi bạn có thể. Để xử lý sự thiếu định nghĩa này, Node sẽ đọc byte tệp cho byte và trả về nó dưới dạng bộ đệm không được sử dụng mà bạn có thể xử lý như mong muốn. Nếu bạn biết nội dung của tệp và có thể cung cấp chi tiết đó cho nút dưới dạng đối số 9, nó thường làm cho mã vừa hiệu suất hơn và dễ hiểu hơn.Ghi vào một tệp với const config = require("./config.json"); 9Viết JSON vào hệ thống tập tin tương tự như đọc nó. Chúng tôi sẽ sử dụng 9 để ghi dữ liệu không đồng bộ vào tệp newcustomer.json.Đầu tiên, để ghi dữ liệu vào tệp JSON, chúng ta phải tạo chuỗi JSON của dữ liệu với 5. Điều này trả về một biểu diễn chuỗi JSON của một đối tượng JavaScript, có thể được ghi vào một tệp. Tương tự như phân tích dữ liệu vào một đối tượng khi đọc tệp, chúng ta phải biến dữ liệu của mình thành một chuỗi để có thể ghi nó vào một tệp.Tạo một đối tượng khách hàng với dữ liệu của chúng tôi bên dưới và biến nó thành một chuỗi.
Lưu ý: Nếu bạn cố gắng viết một đối tượng vào một tệp mà không cần chuỗi nó, tệp của bạn sẽ trống và trông như thế này:without stringifying it, your file will be empty and look like this:
Khi dữ liệu được xâu chuỗi, chúng tôi có thể sử dụng 9 để tạo tệp khách hàng mới. Chúng tôi vượt qua 9 FilePath, dữ liệu khách hàng của chúng tôi để viết và một cuộc gọi lại sẽ được trang trí sau khi tệp được viết. Nếu tệp newcustomer.json không tồn tại, nó sẽ được tạo; Nếu nó tồn tại, nó sẽ được ghi đè!Dưới đây là một ví dụ về việc viết tệp JSON bằng const config = require("./config.json"); 9
Và đó là nó! Khi cuộc gọi lại chạy, tệp đã được ghi vào đĩa. Lưu ý: Chúng tôi chỉ được thông qua một đối tượng lỗi; Các tệp mà chúng tôi đã viết là không được chuyển cho cuộc gọi lại. Chúng ta cũng có thể viết một tệp đồng bộ theo cùng một cách bằng cách sử dụng 9:
Sau khi tập tin của bạn được viết xong, nó sẽ trông giống như thế này: 0Chuỗi theo mặc định đặt tất cả dữ liệu của bạn trên một dòng. Tùy chọn, bạn có thể làm cho tệp đầu ra có thể đọc được bằng cách chuyển số lượng khoảng trống để thụt vào bằng 5: 1Ở trên, chúng tôi đã nói với Stringify để thụt dòng dữ liệu với 2 khoảng trống. Bây giờ tệp đầu ra của bạn sẽ trông như thế này: 2Cập nhật tệp JSONBây giờ chúng tôi có thể đọc và viết các tệp khách hàng của mình, chúng tôi có thể sử dụng chúng như một loại cơ sở dữ liệu đơn giản. Nếu chúng tôi muốn cập nhật dữ liệu trong tệp JSON, chúng tôi có thể đọc nội dung, thay đổi dữ liệu và sau đó viết dữ liệu mới trở lại tệp: 3Chắc chắn không phải là cơ sở dữ liệu hiệu quả nhất mà bạn có thể chọn, nhưng làm việc với các tệp JSON như thế này là một cách đơn giản để tồn tại dữ liệu trong dự án của bạn. Tóm tắt lạiJSON là một trong những loại dữ liệu phổ biến nhất mà bạn sẽ làm việc trong Node và việc có thể đọc và viết các tệp JSON là rất hữu ích. Bạn đã học cách sử dụng 8 và 9 để làm việc không đồng bộ với hệ thống tập tin, cũng như cách phân tích dữ liệu đến và từ định dạng JSON và bắt lỗi từ 8.Bạn có thể sử dụng yêu cầu đọc tệp JSON khi khởi động để phân tích đồng bộ tệp JSON trong một dòng. Và bây giờ bạn có thể sử dụng tệp JSON đơn giản như một cửa hàng dữ liệu. Nếu bạn muốn tìm hiểu thêm, bạn có thể đọc lên JSON thực sự là gì và tìm hiểu thêm về mã không đồng bộ đồng bộ. Hơn nữa sự hiểu biết của bạn
Tài nguyên bổ sung
Làm thế nào để bạn đọc và ghi vào tệp json trong javascript?Nhiệm vụ này sẽ được hoàn thành trong ba bước:.. Đọc tệp bằng một trong các phương thức trên .. Thêm dữ liệu bằng cách sử dụng. phương pháp đẩy () .. Viết dữ liệu mới vào tệp bằng JSON. Phương thức chuỗi () để chuyển đổi dữ liệu thành chuỗi .. Làm cách nào để mở tệp JSON trong JavaScript?Ví dụ 1: Để hiển thị dữ liệu trong bảng điều khiển.Đầu tiên tạo một tệp JSON với trên mạng.Tiện ích mở rộng của JSON, ở đây chúng tôi đã đặt tên nó là tải ... Tạo tệp JSON, thêm dữ liệu vào tệp JSON đó .. Sử dụng JavaScript tìm nạp tệp JSON đã tạo bằng phương thức Fetch () .. Hiển thị dữ liệu trên bảng điều khiển hoặc trong cửa sổ .. Làm cách nào để viết một đối tượng JSON vào một tệp trong Node JS?Để viết một đối tượng JSON vào một tệp cục bộ, sau đây là hướng dẫn từng bước:.. Chuỗi đối tượng JSON.Usejson.Stringify (jsonObject) để chuyển đổi đối tượng JSON sang chuỗi JSON .. Viết đối tượng Stringified vào tệp bằng FS.Chức năng WriteFile () của mô -đun Node FS .. Làm cách nào để đọc tệp JSON?Công cụ Windows để mở tệp JSON.. Notepad.. Notepad++. Microsoft Notepad .. Microsoft WordPad .. Mozilla Firefox.. Trình xem tệp cộng .. Altova xmlspy .. |