Cách sử dụng tệp dữ liệu JSON trong JavaScript?

Chúng tôi có một nhân viên. json trong một thư mục, trong cùng thư mục, chúng tôi có tệp js, trong đó chúng tôi muốn nhập nội dung của tệp json

Nội dung nhân viên. json -

người lao động. json

"Employees" : [
   {
      "userId":"ravjy", "jobTitleName":"Developer", "firstName":"Ran","lastName":"Vijay",
      "preferredFullName":"Ran Vijay","employeeCode":"H9","region":"DL","phoneNumber":"34567689",
      "emailAddress":"ranvijay.k.ran@gmail.com"
   },
   {
      "userId":"mrvjy","jobTitleName":"Developer","firstName":"Murli","lastName":"Vijay",
      "preferredFullName":"Murli Vijay","employeeCode":"A2","region":"MU",
      "phoneNumber":"6543565","emailAddress":"murli@vijay.com"
      }
   ]
}

Chúng ta có thể sử dụng bất kỳ cách nào trong hai cách để truy cập tệp json -

Sử dụng mô-đun yêu cầu

Mã để truy cập nhân viên. json sử dụng mô-đun yêu cầu -

const data = require['./employees.json'];
console.log[data];

Sử dụng chức năng tìm nạp

Mã để truy cập nhân viên. json sử dụng chức năng tìm nạp -

fetch["./employees.json"]
.then[response => {
   return response.json[];
}]
.then[data => console.log[data]];

Lưu ý - Mặc dù chức năng đầu tiên phù hợp hơn với môi trường nút, nhưng chức năng thứ hai chỉ hoạt động trong môi trường web vì API tìm nạp chỉ có thể truy cập được trong môi trường web

Định dạng JSON về mặt cú pháp tương tự như mã để tạo các đối tượng JavaScript. Do đó, một chương trình JavaScript có thể dễ dàng chuyển đổi dữ liệu JSON thành các đối tượng JavaScript

Vì định dạng chỉ là văn bản nên dữ liệu JSON có thể dễ dàng được gửi giữa các máy tính và được sử dụng bởi bất kỳ ngôn ngữ lập trình nào

JavaScript có chức năng tích hợp để chuyển đổi chuỗi JSON thành đối tượng JavaScript

const config = require["./config.json"];
1

JavaScript cũng có chức năng tích hợp để chuyển đổi một đối tượng thành chuỗi JSON

const config = require["./config.json"];
2

Bạn có thể nhận văn bản thuần túy từ máy chủ và sử dụng nó làm đối tượng JavaScript

Bạn có thể gửi một đối tượng JavaScript đến máy chủ ở định dạng văn bản thuần túy

Bạn có thể làm việc với dữ liệu dưới dạng các đối tượng JavaScript mà không cần phân tích cú pháp và dịch thuật phức tạp

Lưu trữ dữ liệu

Khi lưu trữ dữ liệu, dữ liệu phải ở một định dạng nhất định và bất kể bạn chọn lưu trữ ở đâu, văn bản luôn là một trong những định dạng hợp pháp

Khi bạn muốn lưu trữ dữ liệu giữa các lần khởi động lại máy chủ bằng Node, các tệp JSON là một lựa chọn đơn giản và thuận tiện. Cho dù bạn đang đọc tệp cấu hình hay lưu trữ dữ liệu cho ứng dụng của mình, Node có một số tiện ích tích hợp sẵn giúp bạn dễ dàng đọc và ghi tệp JSON. Sử dụng các tệp JSON trong ứng dụng của bạn có thể là một cách hữu ích để duy trì dữ liệu. Chúng ta sẽ xem xét một vài phương pháp khác nhau để làm việc với các tệp JSON

Trong hướng dẫn này, chúng ta sẽ

  • Đọc dữ liệu JSON từ đĩa
  • Tìm hiểu cách sử dụng mô-đun
    const config = require["./config.json"];
    
    4 để tương tác với hệ thống tệp
  • Lưu giữ dữ liệu vào tệp JSON
  • Sử dụng
    const config = require["./config.json"];
    
    5 và
    const config = require["./config.json"];
    
    6 để chuyển đổi dữ liệu sang và từ định dạng JSON

Khi kết thúc hướng dẫn này, bạn sẽ có thể làm việc với các tệp JSON bằng mô-đun

const config = require["./config.json"];
4 tích hợp của Node

Ghi bàn

Giả sử bạn có một khách hàng. tệp json được lưu vào đĩa chứa bản ghi cho một khách hàng trong cửa hàng của bạn

Là một phần của ứng dụng cửa hàng, 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 ta sẽ xem xét cách đọc và viết cho khách hàng của mình. tập tin json

{
  "name": "Mega Corp.",
  "order_count": 83,
  "address": "Infinity Loop Drive"
}

điều kiện tiên quyết

Đồng hồ. Đọc/ghi tệp JSON

Tương tác với các tệp với fs

Việc truy cập các tệp trong Node đượ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 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 mình mà không cần cài đặt nó. Chỉ cần gọi

const config = require["./config.json"];
8

Mô-đun

const config = require["./config.json"];
4 cung cấp cho chúng tôi tùy chọn phiên bản đồng bộ hoặc không đồng bộ của nhiều chức năng của nó. Các phiên bản đồng bộ chặn thực thi mã khác cho đến khi chúng truy cập xong hệ thống tệp, đọc hoặc ghi dữ liệu. Chức năng không đồng bộ sẽ chạy mà không chặn mã khác. Tìm hiểu thêm về hành vi đồng bộ hóa/không đồng bộ hóa

Hành vi đồng bộ này có thể hữu ích ở một số nơi, chẳng hạn 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 không đồng bộ của hàm

const config = require["./config.json"];
4 trong mã của mình. 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 tệp không đồng bộ với

const config = require["./config.json"];
4, chúng tôi sẽ sử dụng
const data = require['./employees.json'];
console.log[data];
22 và
const data = require['./employees.json'];
console.log[data];
23

Chúng tôi cũng sẽ sử dụng trình trợ giúp JSON toàn cầu để chuyển đổi đối tượng thành chuỗi JSON và chuỗi JSON thành đối tượng

Đọc một tệp JSON

Cách đơn giản nhất để đọc một tệp JSON là yêu cầu nó. Truyền

const data = require['./employees.json'];
console.log[data];
24 với đường dẫn đến tệp JSON sẽ đọc và phân tích đồng bộ dữ liệu thành một đối tượng JavaScript

const config = require["./config.json"];

Nhưng đọc các tệp JSON có yêu cầu có nhược điểm của nó. Tệp sẽ chỉ được đọc một lần; . Điều này tốt cho việc tải dữ liệu tĩnh khi khởi động [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. json có thể, chúng ta cần đọc tệp theo cách thủ công bằng cách sử dụng

const data = require['./employees.json'];
console.log[data];
22 không đồng bộ

Đọc một tập tin với
const data = require['./employees.json'];
console.log[data];
22

Để truy cập địa chỉ của khách hàng, chúng ta cần

  • Đọc dữ liệu JSON từ tệp
  • Phân tích cú pháp chuỗi JSON thành một đối tượng JavaScript

Để tải dữ liệu từ khách hàng. json, chúng tôi sẽ sử dụng

const data = require['./employees.json'];
console.log[data];
22, chuyển cho 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 hàm gọi lại

const data = require['./employees.json'];
console.log[data];
2
  • /khách hàng. json là đường dẫn tương đối đến tệp
    const data = require['./employees.json'];
    console.log[data];
    28 là tham số tùy chọn để mã hóa tệp mà chúng ta đang đọc, phần này có thể bỏ qua. Nếu không được chỉ định, hàm sẽ trả về một
    const data = require['./employees.json'];
    console.log[data];
    29 thay vì một
    fetch["./employees.json"]
    .then[response => {
       return response.json[];
    }]
    .then[data => console.log[data]];
    20
  • fetch["./employees.json"]
    .then[response => {
       return response.json[];
    }]
    .then[data => console.log[data]];
    21 là chức năng gọi lại chạy sau khi tệp đã được đọc

Bây giờ chúng tôi có nội dung của tệp dưới dạng chuỗi JSON, nhưng chúng tôi cần biến chuỗi thành đối tượng

Trước khi chúng tôi có thể sử dụng dữ liệu từ cuộc gọi lại trong mã của mình, chúng tôi phải biến nó thành một đối tượng.

const config = require["./config.json"];
5 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 tôi sẽ chỉ có một chuỗi dữ liệu với các thuộc tính mà chúng tôi không thể truy cập

const config = require["./config.json"];
5 có thể đưa ra các lỗi ngoại lệ và làm hỏng chương trình của chúng tôi nếu chuyển một chuỗi JSON không hợp lệ. Để tránh sự cố, chúng tôi bọc JSON. phân tích cú pháp trong một câu lệnh thử bắt để bắt bất kỳ lỗi nào một cách duyên dáng

Ví dụ này cho thấy việc đọc và phân tích cú pháp tệp JSON

fetch["./employees.json"]
.then[response => {
   return response.json[];
}]
.then[data => console.log[data]];
2

Sử dụng

fetch["./employees.json"]
.then[response => {
   return response.json[];
}]
.then[data => console.log[data]];
24 từ việc đọc khách hàng. 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
const config = require["./config.json"];
5 đưa ra lỗi, chúng tôi sẽ xử lý nó trong khối
fetch["./employees.json"]
.then[response => {
   return response.json[];
}]
.then[data => console.log[data]];
26

Bây giờ chúng tôi có một đối tượng đại diện cho dữ liệu trong khách hàng của chúng tôi. tập tin json

Chúng tôi cũng có thể đọc tệp một cách đồng bộ bằng cách sử dụng

fetch["./employees.json"]
.then[response => {
   return response.json[];
}]
.then[data => console.log[data]];
27. Thay vì gọi lại,
fetch["./employees.json"]
.then[response => {
   return response.json[];
}]
.then[data => console.log[data]];
28 trả về nội dung tệp sau khi đọc tệp

const config = require["./config.json"];
2

Chúng ta có thể sử dụng kiến ​​thức này để tạo một hàm 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 có tên là

fetch["./employees.json"]
.then[response => {
   return response.json[];
}]
.then[data => console.log[data]];
29 sẽ đọc và phân tích tệp JSON cho chúng tôi. Nó lấy đường dẫn đến tệp và 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 do
const config = require["./config.json"];
5 đưa ra cho chúng tôi

const config = require["./config.json"];
5

Một lưu ý về mã hóa tập tin

Cả

fetch["./employees.json"]
.then[response => {
   return response.json[];
}]
.then[data => console.log[data]];
27 và
const data = require['./employees.json'];
console.log[data];
22 đều có một đối số
const config = require["./config.json"];
23 tùy chọn. Nếu bạn chỉ định mã hóa ký tự, bạn sẽ nhận lại được
fetch["./employees.json"]
.then[response => {
   return response.json[];
}]
.then[data => console.log[data]];
20. Nếu bạn không chỉ định mã hóa ký tự, cả hai hàm sẽ trả về một giá trị
const data = require['./employees.json'];
console.log[data];
29

Điều này là do Node không và không thể giả định loại nội dung mà một tệp chứa. Ngay cả khi bạn có thể. Để xử lý việc thiếu định nghĩa này, Node sẽ đọc tệp byte cho byte và trả về dưới dạng bộ đệm không có ý kiến ​​mà bạn có thể xử lý theo ý muốn

Nếu bạn biết nội dung của tệp và có thể cung cấp thông tin chi tiết đó cho Node dưới dạng đối số

const config = require["./config.json"];
23 thì điều đó thường làm cho mã vừa hiệu quả hơn vừa dễ hiểu hơn

Ghi vào một tập tin với
const data = require['./employees.json'];
console.log[data];
23

Viết JSON vào hệ thống tệp tương tự như đọc nó. Chúng tôi sẽ sử dụng

const data = require['./employees.json'];
console.log[data];
23 để ghi dữ liệu không đồng bộ vào một khách hàng mới. tập tin json

Trước tiên, để ghi dữ liệu vào tệp JSON, chúng ta phải tạo một chuỗi dữ liệu JSON có tên là

const config = require["./config.json"];
6. Đ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 thành một đối tượng khi đọc một 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

const config = require["./config.json"];
5

Ghi chú. Nếu bạn cố ghi một đối tượng vào tệp mà không xâu chuỗi nó, tệp của bạn sẽ trống và trông như thế này

const config = require["./config.json"];
6

Sau khi dữ liệu được xâu chuỗi, chúng ta có thể sử dụng

const data = require['./employees.json'];
console.log[data];
23 để tạo tệp khách hàng mới. Chúng tôi chuyển
const data = require['./employees.json'];
console.log[data];
23 đường dẫn tệp, dữ liệu khách hàng của chúng tôi để ghi và một cuộc gọi lại sẽ được thực hiện sau khi tệp được ghi. Nếu khách hàng mới. json chưa tồn tại, nó sẽ được tạo;

Dưới đây là một ví dụ về cách viết tệp JSON bằng
const data = require['./employees.json'];
console.log[data];
23

const config = require["./config.json"];
0

Và đó là nó. Khi cuộc gọi lại chạy, tệp đã được ghi vào đĩa. Ghi chú. chúng tôi chỉ được thông qua một đối tượng lỗi; . Chúng tôi cũng có thể ghi một tệp đồng bộ theo cách tương tự bằng cách sử dụng

const config = require["./config.json"];
53

const config = require["./config.json"];
2

File của bạn sau khi viết xong sẽ có dạng như thế này

const config = require["./config.json"];
0

Xâu chuỗi theo mặc định đặt tất cả dữ liệu của bạn trên một dòng. Theo 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 lề cho

const config = require["./config.json"];
6

const config = require["./config.json"];
1

Ở trên, chúng tôi đã nói với stringify để thụt lề dữ liệu với 2 dấu cách. Bây giờ tệp đầu ra của bạn sẽ trông như thế này

const config = require["./config.json"];
2

Cập nhật tệp JSON

Bây giờ chúng tôi có thể đọc và ghi 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 đó ghi dữ liệu mới trở lại tệp

const config = require["./config.json"];
3

Chắc chắn đây 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 để duy trì dữ liệu trong dự án của bạn

Tóm tắt lại

JSON 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à khả năng đọc và ghi các tệp JSON rất hữu ích. Bạn đã học cách sử dụng

const data = require['./employees.json'];
console.log[data];
22 và
const data = require['./employees.json'];
console.log[data];
23 để làm việc không đồng bộ với hệ thống tệp, cũng như cách phân tích cú pháp dữ liệu đến và từ định dạng JSON, đồng thời bắt lỗi từ
const config = require["./config.json"];
5

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 một tệp JSON đơn giản làm kho lưu trữ dữ liệu

Nếu bạn muốn tìm hiểu thêm, bạn có thể đọc JSON thực sự là gì và tìm hiểu thêm về mã đồng bộ và mã không đồng bộ

Làm cách nào để đọc dữ liệu từ tệp JSON trong JavaScript?

28 câu trả lời .
Mention the path of the json file in the script source along with the javascript file .
Lấy đối tượng từ tệp json. var mydata = JSON. phân tích cú pháp [dữ liệu]; . Tên];

Làm cách nào để sử dụng tệp JSON bên ngoài trong JavaScript?

Câu trả lời của bạn .
Mention the path of the json file in the script source along with the javascript file. .
Lấy đối tượng từ tệp json. var mydata = JSON. phân tích cú pháp [dữ liệu];

Làm cách nào để thêm dữ liệu vào tệp JSON trong JavaScript?

Để ghi dữ liệu mới này vào tệp JSON của chúng tôi, chúng tôi sẽ sử dụng fs. writeFile[] lấy tệp JSON và dữ liệu được thêm vào làm tham số . Lưu ý rằng trước tiên chúng ta sẽ phải chuyển đổi đối tượng trở lại định dạng thô trước khi viết nó. Điều này sẽ được thực hiện bằng cách sử dụng JSON.

Làm cách nào để đọc dữ liệu từ tệp JSON?

load[] − Hàm này được sử dụng để phân tích cú pháp hoặc đọc tệp json. .
Nhập mô-đun json
Mở tệp bằng tên của tệp json bằng hàm open[]
Mở tệp bằng tên của tệp json bằng hàm open[]
Đọc tệp json bằng load[] và đặt dữ liệu json vào một biến

Chủ Đề